我想在我的Android应用程序项目中运行简单、普通的JUnit测试,同时使用Gradle编写Activity测试。配置Gradle并使其正常工作花了很长时间,但无论如何,现在我一直在尝试让JUnit测试只是编译。我检查了这个link,但是当我运行gradle时,出现以下错误:DummyTest.java:3:error:packagejunit.frameworkdoesnotexistimportjunit.framework.Assert;^\DummyTest.java:8:error:cannotfindsymbolAssert.assertEquals(5,3);^symb
我想运行一些JUnit4测试。该代码依赖于一些Android库(AndroidXML解析器),但不创建任何Activity等。当我尝试运行测试时,我发现找不到我需要的Android类。有什么方法可以用Android代码运行JUnit4测试,而不是测试Activity,而是用一些库测试代码。 最佳答案 我遇到了同样的问题并尝试使JUnit4适应Android现有的TestRunner-但没有成功。因此,我创建了一个名为JUnit4Android的新项目。它是用于JUnit4和JUnit3测试和测试套件的TestRunner应用程序库。
我想在另一个Android项目(A)中使用的库项目(LIB)中有一些Java代码(可以很好地为Android编译)。由于LIB的代码不太可能改变太多,我选择将它作为一个jar添加到A。它工作正常。我有另一个项目是Android仪器项目,测试第一个Android项目(B)。所以我们现在拥有的是A包括LIB作为外部jar,B测试A。当我想从用LIB编写的B代码访问时,问题就开始了。据我所知,除非我将LIB作为外部jar添加到B,否则它会拒绝编译(也就是说,它无法访问A中包含的LIBjar中的代码)。我不愿意将LIB作为外部jar添加到B,因为:1.感觉不对,而且2.当运行测试失败时:jav
我想为重新创建Activity编写测试。执行旋转是可选的。我希望测试是用谷歌“祝福”的最新版本的测试框架编写的。我是编写测试的新手,所以我想学习基本的、主流的、支持良好的工具。当我掌握基础知识时,任何第3方测试框架都可以。由于我想测试非常基本的、经常出现的场景,基本的工具应该就足够了,对吧?最小测试代码:publicclassMainActivityextendsAppCompatActivity{staticintcreationCounter=0;IntegerinstanceId;@OverrideprotectedvoidonCreate(BundlesavedInstance
我正在尝试将espresso2实现到我的项目中,但我无法在测试中找出appcompat库依赖性的问题。当我使用Activity时,它起作用了。当我使用ActionBarActivity或FragmentActivity时,我得到了这个错误:junit.framework.AssertionFailedError:Exceptioninconstructor:testCheckText(java.lang.NoClassDefFoundError:ait.common.testunittest.app.MainActivity2atait.common.testunittest.app.
我想在用测试夹具替换它之前备份我的应用程序的数据库。由于Android的限制,我不得不使用Junit3,我想实现@BeforeClass和@AfterClass的等效行为。UPDATE:Thereisnowatool(Junit4Android)togetsupportforJunit4onAndroid.It'sabitofakludgebutshouldwork.为了实现与@BeforeClass等效,我一直在使用静态变量并在第一次运行期间对其进行初始化,但我需要能够在运行所有测试后恢复数据库。我想不出检测上次测试何时运行的方法(因为我相信无法保证测试执行的顺序。)publiccl
这有点像是在黑暗中拍摄的。在运行我的robolectric单元测试套件时,我偶尔会遇到以下错误:java.util.ConcurrentModificationExceptionatjava.util.LinkedList$ListItr.checkForComodification(LinkedList.java:966)atjava.util.LinkedList$ListItr.next(LinkedList.java:888)atorg.robolectric.shadows.ShadowResources.getOverlayedThemeValue(ShadowResour
附加信息:澄清一下,被测应用使用ContentProvider访问数据库。编辑:如果有人愿意并且能够帮我调试这个。完整项目可用here.在issue107-contentprovider分支中,BaseballCardListAddCardsTest.问题:当我分别运行我的两个AndroidJUnit测试时,它们都顺利通过。但是,当我一起运行它们时,第一个通过而第二个失败。问题似乎是第一次测试运行向基础数据库添加了一行。tearDown()正确删除了数据库,但是第二个测试仍然从ListView中显示的脏数据开始,尽管数据库不包含额外的行。(我使用adbshell确认了这一点。)有人知道
我最近开始使用IntelliJ构建我的android应用程序项目。我将我的sherlock库作为模块导入,并将依赖项添加到我的项目中。但是,当我尝试重建我的项目以检查任何错误时,我得到了一行10行这样的错误:Error:(3,17)java:packageorg.junitdoesnotexistError:(4,24)java:packageorg.junit.runnerdoesnotexistError:(5,23)java:packageorg.robolectricdoesnotexistError:(7,38)java:packageorg.fest.assertions.
我在Eclipse中有Android项目。我为我的项目创建了测试项目尝试按照TestingfromEclipsewithADTatdeveloper.android.com中的说明创建测试配置.我的行为:运行->运行配置选择AndroidJUnit测试->新建出现错误消息“发生错误。有关详细信息,请参阅错误日志。java.lang.NullPointerException”。日志:Problemsoccurredwheninvokingcodefromplug-in:"org.eclipse.jface".java.lang.NullPointerExceptionatcom.andr