试图运行琐碎的Android JUnit测试。 获得:“测试运行失败:没有测试结果”我缺少什么?
我之前从未使用过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 = 2 stdout INSTRUMENTATION_STATUS:test = test_testOne stdout INSTRUMENTATION_STATUS_CODE:0 stdout INSTRUMENTATION_STATUS:id = InstrumentationTestRunner stdout INSTRUMENTATION_STATUS:current = 2 stdout INSTRUMENTATION_STATUS:class = com.mycompany.myproject.test.SimpleTestCaseExample stdout INSTRUMENTATION_STATUS:stream = stdout INSTRUMENTATION_STATUS:numtests = 2 stdout INSTRUMENTATION_STATUS:test = testAndroidTestCaseSetupProperly stdout INSTRUMENTATION_STATUS_CODE:1 stdout INSTRUMENTATION_STATUS:id = InstrumentationTestRunner stdout INSTRUMENTATION_STATUS:current = 2 stdout INSTRUMENTATION_STATUS:class = com.mycompany.myproject.test.SimpleTestCaseExample stdout INSTRUMENTATION_STATUS:stream =。 stdout INSTRUMENTATION_STATUS:numtests = 2 stdout INSTRUMENTATION_STATUS:test = testAndroidTestCaseSetupProperly stdout INSTRUMENTATION_STATUS_CODE:0 stdout INSTRUMENTATION_RESULT:stream = stdout InstrumentationTestRunner的测试结果= .. 标准时间:0.07 stdout OK(2次测试) stdout INSTRUMENTATION_CODE:-1
但是,我在控制台中获得以下内容:
在设备模拟器-5554上启动检测android.test.InstrumentationTestRunner 收集测试信息 测试运行失败:没有测试结果
我尝试了各种不同的东西,弄乱了基本的TestCase类,或者TestSuite类,或者其他各种选项。 我试图去寻找最简单的例子,因为我还在努力学习它是如何工作的。
无论我尝试什么,我都会看到这个错误。
任何建议,将不胜感激!
如果我遗漏了一些重要信息,请告诉我,我会更新。
好的,我明白了。
而且任何人都没有机会猜到问题是什么。 我不确定是什么让我尝试的。
我有一些JNI代码将错误消息打印到stdout。 该代码没有在我的测试项目中运行,但我使用相同的模拟器。 出于这个原因,我有一个/data/local.prop将stdout重定向到logcat。
事实certificate,测试工具期望JUnit测试的输出出现在stdout上。 当stdout的logcat重定向打开时,stdout上没有任何结果,并且测试系统没有获得输出,因此无法运行。
我删除了stdout的local.prop重定向到logcat,并重新启动了模拟器,现在它可以工作了。
我从未想过测试系统依赖于阅读stdout本身。