我们可以看下这个方法的实现,看它是如何启动刚才的那个InstrumetnationTestRunner线程的:
/* */ public void onCreate(Bundle arguments)
/* */ {
/* 303 */ super.onCreate(arguments);
...
/* 343 */ TestSuiteBuilder testSuiteBuilder = new TestSuiteBuilder(getClass().getName(), getTargetContext().getClassLoader());
/* */
/* */
/* 346 */ if (testSizePredicate != null) {
/* 347 */ testSuiteBuilder.addRequirements(new Predicate[] { testSizePredicate });
/* */ }
/* 349 */ if (testAnnotationPredicate != null) {
/* 350 */ testSuiteBuilder.addRequirements(new Predicate[] { testAnnotationPredicate });
/* */ }
/* 352 */ if (testNotAnnotationPredicate != null) {
/* 353 */ testSuiteBuilder.addRequirements(new Predicate[] { testNotAnnotationPredicate });
/* */ }
/* */
/* 356 */ if (testClassesArg == null) {
...
/* */ } else {
/* 370 */ parseTestClasses(testClassesArg, testSuiteBuilder);
/* */ }
/* */
/* 373 */ testSuiteBuilder.addRequirements(getBuilderRequirements());
/* */
/* 375 */ this.mTestRunner = getAndroidTestRunner();
/* 376 */ this.mTestRunner.setContext(getTargetContext());
/* 377 */ this.mTestRunner.setInstrumentation(this);
/* 378 */ this.mTestRunner.setSkipExecution(logOnly);
/* 379 */ this.mTestRunner.setTest(testSuiteBuilder.build());
/* 380 */ this.mTestCount = this.mTestRunner.getTestCases().size();
/* 381 */ if (this.mSuiteAssignmentMode) {
/* 382 */ this.mTestRunner.addTestListener(new SuiteAssignmentPrinter());
/* */ } else {
/* 384 */ WatcherResultPrinter resultPrinter = new WatcherResultPrinter(this.mTestCount);
/* 385 */ this.mTestRunner.addTestListener(new TestPrinter("TestRunner", false));
/* 386 */ this.mTestRunner.addTestListener(resultPrinter);
/* 387 */ this.mTestRunner.setPerformanceResultsWriter(resultPrinter);
/* */ }
/* 389 */ start();
/* */ }从中我们可以看到这个方法开始就是如上面所说的类UiAutomatorTestRunner一样去获取解析对应测试包里面的测试集和测试用例,这个在这个章节不是重点,重点是最后面的start()这个方法的调用。这个方法最终调用的是父类Instrumentation的start()方法,我们看下这个方法的官方解析"Create and start a new thread in which to run instrumentation.“翻译过来就是”创建一个新的运行Instrumentation(测试用例)的线程":
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-26961-2.html
咱们的新舰连这老的都不如
日本海军强在舰新