我在创建JUnit Test Automation时遇到问题。
我的项目有很多活动(其他活动中有一些活动)。 所以我为每个活动创建了测试用例。但问题是如何在其他测试用例中调用测试用例(如其他活动中的活动)。
任何人都可以给我一些想法吗?
感谢.....
答案 0 :(得分:0)
您的测试应该生活在与您的活动不同的不同项目中。 然后,测试运行器(通常为InstrumentationTestRunner)将能够使用instrospection发现并运行您的测试用例。
答案 1 :(得分:0)
免责声明:这可能非常非常混乱。如果你需要一个测试用例来产生另一个测试用例,那么可能有更好的方法。
JUnit对类进行操作。如果要在运行时创建测试,则必须在运行时创建类。这里,方法specializedTester
创建一个匿名子类,其中getInstance()
返回专门的Activity对象进行测试。
public abstract class ActivityTestCase extends TestCase {
public abstract Activity getInstance();
public static Class specializedTester(final String specialty) {
return new ActivityTestCase() {
public Activity getInstance() {
return new Activity(specialty);
}
};
}
public void testChildActivities() {
Activity activity = getInstance();
for(Activity a : activity.children()) {
// "check ripeness", "bargain hunt", "check out", etc
Class c = specializedTester(a.specialty);
suite.addTestSuite(c);
}
}
static TestSuite suite;
public static void main(String[] args) {
suite = new TestSuite(ActivityTestCase.specializedTester("buy groceries"));
TestRunner.run(suite);
}
}