我们可以在Android中使用JUnit进行测试驱动开发吗?如果没有,是否有类似于JUnit的替代方案?
我在谷歌搜索了一下,还阅读了SO帖子Android Test Driven Development 看起来Android从来没有考虑过TDD。在开始学习TDD并同时进行Android开发之前,我想确定一下。
答案 0 :(得分:7)
我认为您可以完全依赖Robolectric在JVM中运行测试。您可以使用JUnit4来测试您的POJO,Robolectric为您提供测试Android组件的支持。
我也是TDD for Android Development的初学者。我发现Robolectric对于测试我的代码非常有用。
This视频会告诉您几乎所有为您提供单元测试Android代码的内容。
更新: 通过Android工作室支持和新的Android生态系统,现在单元测试可以作为一流的练习。有关详细信息,请参阅http://developer.android.com/training/testing/unit-testing/local-unit-tests.html。
有几种很好的方法来测试驱动Android代码。到目前为止,我发现的最有效的方法是使用MVVM(模型 - 视图 - 视图模型)或MVP(模型 - 视图 - 演示器)方法,其中业务逻辑和表示逻辑与视图分离,可以很容易地成为单元测试
答案 1 :(得分:3)
是的,我们可以使用JUnit进行测试驱动开发。您可以参考以下内容 链接:http://developer.android.com/tools/testing/testing_android.html#JUnit 根据文档,我们可以使用junit.framework完成单元测试。
答案 2 :(得分:3)
以下是对问题空间的一些解释:http://www.techwell.com/2013/04/applying-test-driven-development-android-development
结论是你应该使用Robolectric。不幸的是,Robolectric很慢,如果你甚至在实用的水平上遵循TDD,你最终将进行几百次测试,这将持续10秒。那不是你想用TDD做的。 TDD测试包应该在几秒钟内运行。
我的建议是:
通过这种方法,您的逻辑也将更加便携。