编写junit测试来测试集合的大小

时间:2013-10-09 14:47:46

标签: java junit

我正在写一个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()方法。如果我在我的集​​合中添加更多方法,我将如何从集合中访问这些方法中的每一个。

2 个答案:

答案 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对象尽可能地为你完成工作。