试图学习仪器测试场景。在阅读ActivityInstrumentationTestCase2
的相关文档时,我了解到我们可以使用ActivityInstrumentationTestCase2
与Espresso
一起编写所谓的“功能”测试。或者至少这是我从相关文件中了解到的。Android测试框架说明
但是我遇到了一个叫ActivityUnitTestCase
和ServiceTestCase
的东西,这是我从未听说过的。试图弄清楚这一点让我失望了,现在我非常迷失在这里,对整个Android测试范例有如此多的争议。
从高级别的Android测试大致分为两个水桶考虑:
Unit testing
和functional testing
。以下哪个属于哪个?JUnit
,JUnit4
,TestCase
,AndroidTestCase
,ActivityInstrumentationTestCase2
,ServiceTestCase
,ApplicationTestCase
,AndroidTestRunner
,AndroidJUnitRunner
,AndroidJUnit4
应该怎么用时?
它们中的任何一个都与实际的单元测试有关(我指的是POJO测试)。我问这个问题是因为我注意到一些教程链接,其中示例测试用例扩展了
JUnit4
/TestCase
并且仍然称为单元测试,而下面的一个链接根本没有扩展任何东西,仍然作为简单的POJO
测试用例。这就提出了一个问题,JUnit4
和简单的POJO
测试类别之间的区别究竟是什么。我迄今检查
参考文献:
http://www.vogella.com/tutorials/AndroidTesting/article.html#androidtesting_creatingtestfolders
https://shaun.church/unit-testing-java-classes-in-android-studio/
Robolectric vs Android Test Framework
http://developer.android.com/tools/testing/testing_android.html
任何想法,提示非常感谢。谢谢!
我明白了,所以其要点是:对于Android = Junit4 + Mocks等单元测试以及Android = JUnit4 + Robotium/Espresso等的功能/仪器测试,是否正确? – user2511882
@ user2511882:我对你使用“功能”(这是一个有点无定形的术语恕我直言)怀疑,但否则,是的,这是正确的。 – CommonsWare
好的。这当然有助于所有的malarkey。谢谢! – user2511882