Public class Person {
private Skill[] skills;
public Skill[] getSkills() {
return skills;
}
public void setSkills(Skill[] s) {
if (s!= null) {
skills = new Skill[s.length];
for (int i = 0; i < s.length; i++) {
skills[i] = s[i];
}
}
}
}
}
假设有一个类skill
。问题是在 Junit 中有一个测试用例来测试方法 setSkill ugiving s = 技能数组本身。这个测试用例返回Assertion error
告诉我The returned skill array should be the same
,当我更改getSkill
为两个数组提供相同的引用时,测试用例通过了。
有人可以帮我吗?如何复制元素而不是参考?为什么测试用例会失败?
测试用例是:
@Test(timeout = 1000)
public void testGetSkills() {
instance.setSkills(skills);
assertSame("The returned skill array should be the same", instance.getSkills(), skills);
}