Android 单元测试未报告失败并显示 fail()

标签 android unit-testing ant junit

我编写了一个简单地扩展 TestCase 的单元测试,并且我有以下内容:

public class MetricParserTests extends TestCase {

    @Override
    protected void setUp() throws Exception {
        super.setUp();
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public void testFailure() {
        fail("This needs to fail");
    }
}

当我使用 ant testadb shell am instrument 运行我的测试时,我得到以下结果:

... [exec] OK (1 tests) ...

我希望在命令行上看到失败。

最佳答案

我相信我知道问题出在哪里。我能够重现问题并解决它。您使用的命令不会重建和重新安装您的测试项目到设备上。当您调用 ant test 时,它只会执行已安装在该设备上的测试。

你需要调用的是你的测试项目目录下的三个命令:

ant debug
ant installd
ant test

然后将重建和重新安装所有测试,并执行最新的测试。如果您不调用 debuginstalld,则不会应用您对测试所做的更改。

关于Android 单元测试未报告失败并显示 fail(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20643230/

相关文章:

eclipse - Ant/Eclipse 提示工件 :dependencies

java - 将 30 分钟添加到 java 中的当前时间

Android 应用程序仅在一台设备上崩溃

php - 如果未调用所需的方法,Mockery/Etsy PHPExtensions 不会失败测试

unit-testing - 当修复程序涉及更改被测方法签名时,如何使用TDD?

java - pom.xml 的正则表达式表示法

Ant http 不会失败目标

android:org.eclipse.swt.SWTError 中的异常:没有更多句柄 [gtk_init_check() 失败]

android - 创建动态/复杂的 Android viewText + editText 布局

angular - 如何使用 Jasmine 在 Angular 中对 HTTP 拦截器进行单元测试