我在Android Studio中有一个包含3个测试类的测试套件。
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestClass1.class,
TestClass2.class,
TestClass3.class
})
public class MyTestSuite { }
当我通过gradle(./gradlew connectedAndroidDevices
)运行该测试套件时,我得到一个result.xml,如下所示:
<?xml version='1.0' encoding='UTF-8' ?>
<testsuite name="com.example.TestClass1" tests="17" failures="1" errors="0" skipped="0" time="1.534" timestamp="2018-02-12T05:54:39" hostname="localhost">
<properties>
<property name="device" value="Nexus 5X - 8.0.0" />
<property name="flavor" value="" />
<property name="project" value="ExampleSdk" />
</properties>
<testcase name="getDefaultDescription" classname="com.example.TestClass1" time="0.029" />
<testcase name="getCode" classname="com.example.TestClass1" time="0.0" />
<testcase name="getDescription" classname="com.example.TestClass1" time="0.0" />
<testcase name="testShouldRefresh" classname="com.example.TestClass2" time="0.03" />
<testcase name="testCreateAuthorizationHeader" classname="com.example.TestClass2" time="0.0" />
<testcase name="testHasExpired" classname="com.example.TestClass3" time="1.015" />
...
</testsuite>
问题是,name属性与测试套件的名称不匹配,而是该测试套件中第一个类的名称:
name="com.example.TestClass1
代替name="com.example.MyTestSuite
Gradle在哪里寻找testuite名称?