0

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

4

2 回答 2

1
int size = input.phone.getLength(); ///DOESNT WORK

应该:

int size = input.getPhone().size();
于 2013-10-09T14:51:02.933 回答
0

您应该直接询问 Phone 接口,而不是公开和测试您的Phone类的成员,例如实现一个 size() 方法,以便您可以通过以下方式进行测试:

int size = input.size();

否则,您只是公开Phone对象的实现。我会在这里调查并可能应用得墨忒耳定律,并让 Phone 对象尽可能地为您完成工作。

于 2013-10-09T14:53:47.517 回答