我正在写一个junit测试来断言集合的大小不是0.
public interface Phone {
public Set<PhoneSample> getPhone();
public void setPhone<Set<PhoneSample> phone>
}
public class DefaultPhone implements Phone{
private Set<PhoneSample> phone;
@Override
public Set<PhoneSample> getPhone() {
return phone;
}
}
@Override
public void setPhone(Set<PhoneSample> phone) {
this.phone = phone;
}
}
public class Test{
@Test
public void testOrder10() throws Exception {
Phone input = new DefaultPhone();
int size = input.phone.getLength(); ///DOESNT WORK
assertThat(size, is > 0);
}
}
我最终希望能够获得大小,并检查它是否大于零。
我的第二个问题是如何从测试类中访问集合中的getPhone()方法。如果我在我的集合中添加更多方法,我将如何从集合中访问这些方法中的每一个。
答案 0 :(得分:1)
int size = input.phone.getLength(); ///DOESNT WORK
应该是:
int size = input.getPhone().size();
答案 1 :(得分:0)
您应该直接询问电话界面,而不是公开和测试Phone
课程的成员。实现一个size()方法,以便您可以通过以下方式进行测试:
int size = input.size();
否则,您只是公开Phone
对象的实现。我会调查并在这里应用Law Of Demeter并让Phone对象尽可能地为你完成工作。