Android Eclipse插件:Instrumentation Test Runner未指定

当我尝试从Eclipse项目运行Eclipse的unit testing时遇到了这个错误。 Android首选项中的Instrumentation Test Runners清单是空的。

[2009-06-17 23:57:51 – MyApp]错误:应用程序没有指定android.test.InstrumentationTestRunner工具或不声明uses-library android.test.runner

这也令人恼火的决定,因为我试图运行一次unit testing,这是我一直想要做的。

Run Configuration你可能有Android JUnit Test ,如果里面有任何新的启动configuration条目,你可以删除它,然后运行你的应用程序。

注 – 这可能是解决scheme,如果你试图运行testing用例之前正确的行添加到清单,在约瑟夫的答案中所述。 如果你这样做,删除configuration(这将是抱怨没有指定工具testing运行器的头),然后再次运行它作为一个Android的Junittesting,它会创build一个有效的configuration捡起正确的东西,你已经添加到清单(见约瑟夫的答案)。

您可能会错过AndroidManifest.xmluses-libraryinstrumentation节点:

 <manifest ...> <application ...> <!-- ... --> <uses-library android:name="android.test.runner" /> </application> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="your.package" android:label="your tests label" /> </manifest> 

我在这个讨论中注意到的一件事情可能会让某些人绊倒,就是你需要确保你的清单中的“instrumentation”元素是“manifest”而不是“application”的子元素。 (这里的例子是正确的,但这很容易混淆。)

http://developer.android.com/guide/topics/manifest/instrumentation-element.html

如果你把你的仪器放在应用程序中,它将不会被拾取,你在Eclipse ADT插件中的select可能是空白的。 (但是不会出现或显示错误等)

只需从Eclipse IDE中右键单击testing类,然后单击“运行方式”即可。 在这之后select“运行configuration”,它将在eclipse中启动一个configuration窗口,您需要点击“Instrumentation Runner”旁边的单选button,然后从下拉列表中selectconfiguration好的Instrumentation Runner。 现在点击apply,然后点击Run。 我想这会解决你的问题。

谢谢,Smruti

这不是在你的代码,它只是日食是一个小错误。 在运行configuration中,它可能试图运行一个jUnittesting,但select运行应用程序,该错误将消失。

除了确保在testing应用程序的清单中声明以下项目,请检查“运行configuration”中的“仪器运行程序”字段设置为

 "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner". 

这是我遇到什么时候搞清楚为什么我testing不会运行。

performance:

 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="your.package" android:label="your tests label" /> and... <uses-library android:name="android.test.runner" /> 

问题是当你创build项目时,你会有一个AVD,所以这些configuration将会丢失。 我build议的方式是先创buildAVD,然后创buildAndroid项目:)。

如果你已经创build了项目,如果没有太多的代码,我build议删除它并创build一个新的。