【问题标题】:Trying to run trivial Android JUnit tests. Getting: "Test run failed: No test results" What am I missing?尝试运行简单的 Android JUnit 测试。获取:“测试运行失败:没有测试结果”我错过了什么?
【发布时间】:2011-03-28 15:09:03
【问题描述】:

我以前从未使用过 JUnit,现在我正在尝试在 Android 项目上设置它。

我的测试项目相当复杂,包括一些 JNI,但目前我的测试项目完全是微不足道的。我在网上找到了很多关于如何制作测试项目的示例(看起来完全不同),但似乎无论我遵循哪一个,我都会得到相同的结果。

这是我的 JUnit 项目代码:


package com.mycompany.myproject.test;

import android.test.AndroidTestCase;

public class SimpleTestCaseExample extends AndroidTestCase {
    public void test_testOne() {
        fail("Just Always Fail");
    }
}

当我运行时,我在 Logcat 中看到以下内容:

标准输出 INSTRUMENTATION_STATUS: numtests=2 标准输出 INSTRUMENTATION_STATUS: test=test_testOne 标准输出 INSTRUMENTATION_STATUS_CODE:0 标准输出 INSTRUMENTATION_STATUS: id=InstrumentationTestRunner 标准输出 INSTRUMENTATION_STATUS: 当前=2 标准输出 INSTRUMENTATION_STATUS: class=com.mycompany.myproject.test.SimpleTestCaseExample 标准输出 INSTRUMENTATION_STATUS:流= 标准输出 INSTRUMENTATION_STATUS: numtests=2 标准输出 INSTRUMENTATION_STATUS: test=testAndroidTestCaseSetupProperly 标准输出 INSTRUMENTATION_STATUS_CODE:1 标准输出 INSTRUMENTATION_STATUS: id=InstrumentationTestRunner 标准输出 INSTRUMENTATION_STATUS: 当前=2 标准输出 INSTRUMENTATION_STATUS: class=com.mycompany.myproject.test.SimpleTestCaseExample 标准输出 INSTRUMENTATION_STATUS:流 =。 标准输出 INSTRUMENTATION_STATUS: numtests=2 标准输出 INSTRUMENTATION_STATUS: test=testAndroidTestCaseSetupProperly 标准输出 INSTRUMENTATION_STATUS_CODE:0 标准输出 INSTRUMENTATION_RESULT:流= InstrumentationTestRunner=.. 的标准输出测试结果 标准输出时间:0.07 标准输出正常(2 次测试) 标准输出 INSTRUMENTATION_CODE:-1

但是,我在控制台中得到以下信息:

在设备 emulator-5554 上启动仪器 android.test.InstrumentationTestRunner 收集测试信息 测试运行失败:没有测试结果

我尝试了各种不同的东西,弄乱了基本的 TestCase 类、TestSuite 类或各种其他选项。我试着只举一个最微不足道的例子,因为我真的还在努力学习它是如何工作的。

无论我尝试什么,都会看到此错误。

任何建议将不胜感激!

如果我遗漏了一些重要信息,请告诉我,我会更新。

【问题讨论】:

    标签: java android junit


    【解决方案1】:

    好的,我想通了。

    而且几乎没有人会猜到问题所在。我不确定是什么让我尝试了它。

    我有一些将错误消息打印到标准输出的 JNI 代码。该代码未在我的测试项目中运行,但我使用相同的模拟器。出于这个原因,我有一个 /data/local.prop 将标准输出重定向到 logcat。

    事实证明,测试工具希望 JUnit 测试的输出出现在标准输出上。当stdout的logcat重定向开启时,stdout上什么都没有,测试系统没有得到输出,所以运行失败。

    我删除了我的 stdout 到 logcat 的 local.prop 重定向,并重新启动了模拟器,现在它可以工作了。

    我从来没有想过测试系统依赖于读取标准输出本身。

    【讨论】:

    • 感谢您的回答,没想到
    • 你是怎么关注的?我删除了 stdout 的 local.prop 重定向到 logcat,并重新启动了模拟器,现在它可以工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 2022-07-09
    • 2016-04-06
    相关资源
    最近更新 更多