Android Studio 单元测试

Android Studio Unit Testing

我正在 android studio 上进行单元测试,我在测试 class 中创建了一个测试用例,并且每次 运行 它都会给出不同的输出,但是当我调试它给我罚款 put.It 可能是缓存问题或其他问题。我也尝试过 Invalidate studio 和 clean project 但仍然发生。请帮助。

在您的 @Before 方法中,请务必使用 Intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) 以确保在您开始测试时该应用程序尚未 运行 在您的测试后台。这可能是引入缓存问题的原因。

澄清一下,您的 @Before 方法应如下所示:

@Before
public void setup() {
    //Initialize UiDevice instance
    Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
    mDevice = UiDevice.getInstance(instrumentation);

    mDevice.pressHome();

    Intent intent = new Intent("com.REDACTED.auto.diagnostics.dealer.MAIN");
    intent.setClassName("com.REDACTED.auto.diagnostics", "com.REDACTED.auto.diagnostics.dealer.MainActivity");
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    Context context = InstrumentationRegistry.getContext();
    context.startActivity(intent);
}

如果您有源代码,可以使用更简单的方法,但我没有