【问题标题】:Android JUnit4 testingAndroid JUnit4 测试
【发布时间】:2011-07-22 10:53:34
【问题描述】:

我想运行一些 JUnit4 测试。该代码依赖于一些Android库(Android XML解析器),但不创建任何活动等等。当我尝试运行测试时,我发现没有找到我需要的 Android 类。有什么方法可以用 Android 代码运行 JUnit4 测试,而不是测试活动,而是用一些库测试代码。

【问题讨论】:

标签: android junit junit4


【解决方案1】:

我遇到了同样的问题,并试图使 JUnit4 适应 Android 现有的 TestRunner - 但没有成功。因此,我创建了一个名为 JUnit4Android 的新项目。它是用于 JUnit4 和 JUnit3 测试和测试套件的 TestRunner 应用程序库。因此,您可以使用它运行现有的 JUnit4 测试。请在 GitHub 上找到更多信息:

https://github.com/dthommes/JUnit4Android/wiki

【讨论】:

【解决方案2】:

没有办法(据我所知)在 Android 上使用 JUnit4。不过,它确实支持 JUnit3,如果您愿意的话?

或者,您可以使用Robolectric 并在您的开发机器上运行您的测试(您可以使用您喜欢的任何单元测试框架)。这是否适合您取决于您​​正在测试的具体内容,但可能值得一试?

【讨论】:

    【解决方案3】:

    可能有点晚了,但谷歌终于有关于junit4的官方更新了:

    基于Android-test-kit project 和其他一些来源,很明显: AndroidJUnitRunner 是一个新的非捆绑式 Android 测试运行器,它是

    Android 支持测试库,可通过 Android 下载 支持存储库。新的跑步者包含所有改进 GoogleInstrumentationTestRunner 并添加了更多功能:

    - JUnit4 support
    - Instrumentation Registry for accessing Instrumentation, Context and Bundle Arguments
    - Test Filters @SdkSupress and @RequiresDevice
    - Test timeouts
    - Sharding of tests
    - RunListener support to hook into the test run lifecycle
    - Activity monitoring mechanism ActivityLifecycleMonitorRegistry
    

    实际上,它已经出现在 Support Repository 中。如果你去

    %ANDROID_HOME%\extras\android\m2repository\com\android\support\test\testing-support-lib\

    可以在其中找到testing-support-lib(aar、jars 等),它允许使用 JUnit4。更重要的是,它包含 espresso 库相同的位置,便于 UI 测试。似乎 Android 网站和支持 lib 官方参考资料将很快使用该信息进行更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-08
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多