gpt4 book ai didi

java - 尝试运行简单的 Android JUnit 测试。获取 : "Test run failed: No test results" What am I missing?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:37:41 25 4
gpt4 key购买 nike

我以前从未使用过 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 中看到以下内容:

stdout    INSTRUMENTATION_STATUS: numtests=2stdout    INSTRUMENTATION_STATUS: test=test_testOnestdout    INSTRUMENTATION_STATUS_CODE: 0stdout    INSTRUMENTATION_STATUS: id=InstrumentationTestRunnerstdout    INSTRUMENTATION_STATUS: current=2stdout    INSTRUMENTATION_STATUS: class=com.mycompany.myproject.test.SimpleTestCaseExamplestdout    INSTRUMENTATION_STATUS: stream=stdout    INSTRUMENTATION_STATUS: numtests=2stdout    INSTRUMENTATION_STATUS: test=testAndroidTestCaseSetupProperlystdout    INSTRUMENTATION_STATUS_CODE: 1stdout    INSTRUMENTATION_STATUS: id=InstrumentationTestRunnerstdout    INSTRUMENTATION_STATUS: current=2stdout    INSTRUMENTATION_STATUS: class=com.mycompany.myproject.test.SimpleTestCaseExamplestdout    INSTRUMENTATION_STATUS: stream=.stdout    INSTRUMENTATION_STATUS: numtests=2stdout    INSTRUMENTATION_STATUS: test=testAndroidTestCaseSetupProperlystdout    INSTRUMENTATION_STATUS_CODE: 0stdout    INSTRUMENTATION_RESULT: stream=stdout    Test results for InstrumentationTestRunner=..stdout    Time: 0.07stdout    OK (2 tests)stdout    INSTRUMENTATION_CODE: -1

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

Launching instrumentation android.test.InstrumentationTestRunner on device emulator-5554Collecting test informationTest run failed: No test results

我尝试过各种不同的方法,搞乱基本的 TestCase 类、TestSuite 类或各种其他选项。我试着只举最简单的例子,因为我真的还在努力学习它是如何工作的。

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

如有任何建议,我们将不胜感激!

如果我遗漏了一些关键信息,请告诉我,我会进行更新。

最佳答案

好的,我明白了。

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

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

事实证明,测试工具期望 JUnit 测试的输出出现在标准输出上。当 stdout 的 logcat redirect 打开时,stdout 上什么也没有结束,测试系统没有得到输出,因此无法运行。

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

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

关于java - 尝试运行简单的 Android JUnit 测试。获取 : "Test run failed: No test results" What am I missing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3462850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com