草庐IT

android - Espresso + Junit4 - 在运行所有测试之前登录一次

我想为我的一个应用程序编写一些自动化测试。所有功能都需要登录。所以,我已经编写了测试,但对于每个测试,它都在进行登录和测试功能。无论如何,有什么可以帮助我只登录一次然后运行所有测试?最简单的方法是只在一个测试方法中编写所有测试。但我认为这是实现这一目标的丑陋方式。因此,任何更清洁的解决方案,测试将只登录一次,然后运行一组测试。以下是我的测试代码:@RunWith(AndroidJUnit4.class)publicclassAllDisabledTest{publicstaticfinalStringUSER_NAME="all_disabled";publicstaticfinalS

android - 两个 robotium 测试用例,但第二个卡在那里没有响应(在 JUnit View 中)

我设法在我的XXTest.java中编写了两个测试用例,其中包含robotium-solo-3.2.1.jar,幸运的是,在JUnitView中它显示第一个已经完成,该设备可以正常工作(也在模拟器上)。然后它继续到第二个,但它永远卡在那里!抱歉,我无法附上我的帐户的屏幕截图。这是我的代码:publicclassXXTestextendsActivityInstrumentationTestCase2{privateSolosolo;privateActivitymActivity;privatestaticfinalStringaccount="someone";privatestat

android - Android 测试项目中的参数化 JUnit 测试

当我在JUnit3.x中创建参数化测试用例时,我通常会创建一个类似TestSuite的东西publicstaticTestsuite(){TestSuites=newTestSuite();for(inti=MIN;i当从桌面命令行运行JUnit时,此suite()方法被正确调用。当我用我的Android测试项目尝试这个时,测试没有运行。如何让我的测试在模拟器上运行?还是有其他方法可以为Android创建参数化测试?更多想法:通常我使用命令行运行我的测试:adbshellaminstrument-w[-eclass[#()]]/android.test.InstrumentationT

java - 让简单的 JUnit 测试在 Android Studio 中运行

这本来是一个咆哮。我花了几个小时试图在AndroidStudio中的Android项目中运行最简单的单元测试,但我对这项基本任务看似不可能完成感到震惊。我读过很多答案,但它们似乎都指向您使用Robolectric来避免在设备上运行测试。我真的不在乎它们是否在设备上运行。此外,即使将Robolectric集成到AndroidStudio中也是一个复杂的多步骤过程,最终对我不起作用。所以问题是-在AndroidStudio中通过最简单的测试(不依赖于AndroidSDK)所需的最简单的一组步骤是什么。像这样的测试,从新项目开始@Testpublicvoidjust_work_will_yo

android - 服务的 JUnit 测试错误

代码:publicclassTestprogdiextendsActivityInstrumentationTestCase2{publicTestprogdi(Stringpkg,ClassactivityClass){super(pkg,activityClass);//TODOAuto-generatedconstructorstub}ContextmContext;Registrationreg=newRegistration();publicvoidsetUp(){try{super.setUp();}catch(Exceptione){//TODOAuto-generate

android - 如何在 Android 中访问用于 JUnit 测试的文本文件?

如何访问我的目录“src/test/resources”中的文本文件我似乎无法在我的JUnit测试中获取它移动/build.gradle:sourceSets{test{java{srcDirs=['src/test/java']}resources{srcDirs=['src/test/resources']}}}测试方法:@Testpublicvoidtest_file(){URLresource=getClass().getResource("file_four_lines.txt");Filefile=newFile(resource.getFile());//GetNullP

android - 使用 android-maven-plugin 在 Eclipse 中进行简单的非 API Android JUnit 测试?

我每天都在Eclipse中运行非AndroidJUnit测试。今天我想测试我的一些Android库类。哦,痛苦。我有一个使用android-maven-plugin的Android库项目。我在src/main/java中有源文件,在src/test/java中有我的(新)单元测试。我的POM具有适当的JUnit依赖项和android-maven-plugin引用。有时我会从File创建一个AndroidUri实例。有时我有一个现有的JavaURI实例,它是从File创建的,然后我将其转换为Uri。由于我既不信任Java也不信任Android的文件和URI(不要让我开始了解Java如何破

android - 使用 Retrofit 的 RxJava JUnit 测试抛出 NullPointerException

我有一个retrofit2API调用publicinterfaceFeedService{@GET("/api/v1/feeds")ObservablegetFeeds(@Query("page")IntegerpageNumber,@Query("cats")Stringcategories,@Query("lang")Stringlanguage);}我有一个像这样使用这个API的存储库-publicclassFeedRepositoryImplimplementsFeedRepository{privatestaticFeedRepositoryImplINSTANCE;priv

首选项的 Android JUnit 测试

一个相当正常的场景:Android应用程序有一个首选项Activity,并且从ListPreference触发代码中选择一个选项以更改该ListPreference的摘要文本。即:从颜色ListPreference中选择“绿色”会通过onPreferenceChange回调将ListPreference的摘要文本更改为“绿色”。我希望能够使用AndroidJUnit测试来确认这些摘要更改是否全部正确执行。但是,关于如何执行此操作的信息似乎很少。我尝试了在ListPreference上使用setValue()的变体,在测试线程中和通过runOnUiThread()都没有成功-这不会触发对

使用 Robolectric : java. lang.InstantiationException 的 Android 库 JUnit 测试

尝试使用Robolectric在Android库项目上运行JUnit测试时出现以下错误:java.lang.RuntimeException:java.lang.InstantiationExceptionatcom.xtremelabs.robolectric.ApplicationResolver.newApplicationInstance(ApplicationResolver.java:56)atcom.xtremelabs.robolectric.ApplicationResolver.resolveApplication(ApplicationResolver.java: