我在编写jUnit测试时非常棒。我有一个Android程序,必须为它编写测试。我知道如何和我用robotium编写测试,但现在我需要功能测试,我不知道从哪里开始。我的代码中有一个函数:
private void onCoordinatesUpdate(Location loc){
List<Event> list = wc.requestEvents(loc.getLatitude(), loc.getLongitude());
if(list != null){
adapter = new EventsArrayAdapter(this.getApplicationContext(), R.id.eventsView, (ArrayList<Event>)list);
ev.setAdapter(adapter);
}
}
我必须为它编写测试。对我来说问题的是,我不知道如何编写测试,这将检测IF句子中的表达式是否从例如“list!= null”更改为“list == null”。我能想到的唯一的测试理念是:
public void testCheckInternet(){
assertTrue(mClassToTest.checkInternet());
}
但他的测试只检查设备是否连接到互联网就是这样。我不需要任何人为我写测试,但也许有人可以告诉我的方式:)如何开始:)提前感谢。
答案 0 :(得分:1)
请参阅Android开发者指南的Testing部分。
答案 1 :(得分:0)
您提供的方法是私有,因此很难使用JUnit进行测试。使用JUnit进行单元测试时,您应该只测试公共方法。私有方法将间接测试。 如果您希望明确测试类中的私有方法,则应重新考虑类设计。一种解决方案是将此私有方法提取到新类中,并将该方法公之于众。
一般来说,有可测试的代码,但有代码不可测试。 测试驱动开发是一种有助于设计可测试代码的技术。一个很好的起点是the JUnit documentation。