【问题标题】:Android unit test, super deprecated, replacement?Android单元测试,超级弃用,替换?
【发布时间】:2013-05-20 18:38:05
【问题描述】:

android 单元测试文档说要像这样用junit 测试

public SpinnerActivityTest() {
      super("com.android.example.spinner", SpinnerActivity.class);
} // end of SpinnerActivityTest constructor definition

http://developer.android.com/tools/testing/activity_test.html#InstallCompletedTestApp

他们的示例使用的是 Android 2.1。

我的应用使用的是 Android 4.2,尽管它向后兼容。

超类被什么取代了?我的构造函数应该怎么写

【问题讨论】:

    标签: android unit-testing junit


    【解决方案1】:

    你需要使用调用:

    super (SpinnerActivity.class);
    

    它在 Android 参考文档中指定。

    ActivityInstrumentationTestCase2(String pkg, Class<T> activityClass)
    This constructor was deprecated in API level 8. use ActivityInstrumentationTestCase2(Class) instead
    

    改用这个。

    ActivityInstrumentationTestCase2(Class<T> activityClass)
    Creates an ActivityInstrumentationTestCase2.
    
    Parameters
    activityClass   The activity to test. This must be a class in the instrumentation targetPackage specified in the AndroidManifest.xml
    

    【讨论】:

    • 现在都已弃用。
    • 现在 ActivityInstrumentationTestCase2 的替代品是什么?
    【解决方案2】:

    API 级别 24 建议使用 Testing Support Library。如果您使用的是getContext(),那么InstrumentationRegistry.getTargetContext() 方法可能就是您想要的。

    【讨论】:

      猜你喜欢
      • 2011-07-02
      • 2021-04-21
      • 2020-02-17
      • 2021-03-24
      • 2021-12-24
      • 1970-01-01
      • 2014-08-09
      • 2019-11-26
      • 1970-01-01
      相关资源
      最近更新 更多