Espresso,运行 TestClasses 按顺序
Espresso, Run TestClasses in Order
我正在用浓缩咖啡测试一个应用程序。
第一个测试用例将第一个 activity 的数据从网络加载到本地数据库中。
第二个测试用例/2。Activity显示数据库中的数据。
这就是为什么测试用例 1 需要 运行 在测试用例 2 之前。但这并不总是发生,espresso 偶尔会改变顺序。
我该如何解决这个问题?我可以设置测试用例(测试类)的顺序吗?
您有以下注释@FixMethodOrder。
您可以通过以下参数使用它:MethodSorters.NAME_ASCENDING.
代码(示例):
@RunWith(AndroidJUnit4.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class YourTestClass {
@Test
public void A_Test() {
System.out.println("1");
}
@Test
public void B_Test() {
System.out.println("2");
}
}
您将在这里找到更详细的解决方案:[以前的答案] (Test order with espresso)
您可以使用@RunWith 注释来做到这一点。你可以在这里看一下 Aggregating tests in suites。基本上你要做的是:
编辑:
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestFeature1.class,
TestFeature2.class,
TestFeature3.class,
TestFeature4.class
})
public class FeatureTestSuite {
// the class remains empty,
// used only as a holder for the above annotations
}
我正在用浓缩咖啡测试一个应用程序。 第一个测试用例将第一个 activity 的数据从网络加载到本地数据库中。 第二个测试用例/2。Activity显示数据库中的数据。
这就是为什么测试用例 1 需要 运行 在测试用例 2 之前。但这并不总是发生,espresso 偶尔会改变顺序。 我该如何解决这个问题?我可以设置测试用例(测试类)的顺序吗?
您有以下注释@FixMethodOrder。
您可以通过以下参数使用它:MethodSorters.NAME_ASCENDING.
代码(示例):
@RunWith(AndroidJUnit4.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class YourTestClass {
@Test
public void A_Test() {
System.out.println("1");
}
@Test
public void B_Test() {
System.out.println("2");
}
}
您将在这里找到更详细的解决方案:[以前的答案] (Test order with espresso)
您可以使用@RunWith 注释来做到这一点。你可以在这里看一下 Aggregating tests in suites。基本上你要做的是:
编辑:
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestFeature1.class,
TestFeature2.class,
TestFeature3.class,
TestFeature4.class
})
public class FeatureTestSuite {
// the class remains empty,
// used only as a holder for the above annotations
}