问题描述
我的项目具有一般的HTTP调用,用于获取XML文件,解析XML文件以及创建域对象。 这些对象稍后将用于Android应用程序的操作和服务中。
我想隔离那段代码。 我也想为它编写测试。 有什么好方法可以做到这一点?
创建Android库似乎不合适。 测试必须在一个单独的项目中。 并且在提取的HTTP和XML相关代码中没有服务或活动。 因此测试套件不必是Android测试套件,它可以是常规的JUnit测试。
注意:我是Java和Android的新手。
1楼
根据我的经验,我分离事物的方式是通过打破更小的方法 - 我从学到的东西也有介绍。 然后在普通的JUnit TestCase中测试这些特定方法。 如果你发现某些方法是不可测试的,我发现只是将它们进一步分解成更小的方法确实有帮助。
2楼
我要制作第二个纯Java库(不是Android库)。 将所有非Android代码放在那里,就像解析XML的代码一样。 您的Android代码将取决于库。 然后,为库编写测试。 这些可以是标准的JUnit测试,可能有些嘲弄。 测试完库后,查看可以移动到库中的代码量。 特定于Android的代码应该尽可能小。
为了测试特定于Android的代码,我不知道。 我没有得到这个工作。