JUnit 테스트 자동화 생성에 문제가 있습니다.다른 testcase 클래스에서 testcase 클래스를 호출하는 방법은 무엇입니까?
내 프로젝트에는 많은 활동이 있습니다 (다른 활동 안에 일부 활동). 그래서 각 활동에 대한 테스트 케이스를 만듭니다. 하지만 문제는 다른 테스트 케이스 (예 : 다른 액티비티 내부의 액티비티) 내부에서 테스트 케이스를 호출하는 방법입니다.
아무도 나에게 어떤 이상을 줄 수 있습니까?
감사합니다 .....
JUnit 테스트 자동화 생성에 문제가 있습니다.다른 testcase 클래스에서 testcase 클래스를 호출하는 방법은 무엇입니까?
내 프로젝트에는 많은 활동이 있습니다 (다른 활동 안에 일부 활동). 그래서 각 활동에 대한 테스트 케이스를 만듭니다. 하지만 문제는 다른 테스트 케이스 (예 : 다른 액티비티 내부의 액티비티) 내부에서 테스트 케이스를 호출하는 방법입니다.
아무도 나에게 어떤 이상을 줄 수 있습니까?
감사합니다 .....
테스트는 활동이 아닌 다른 프로젝트에서 진행되어야합니다. 그런 다음 테스트 러너는 대개 InstrumentationTestRunner이며, instrospection을 사용하여 테스트 케이스를 발견하고 실행할 수 있습니다.
면책 조항 : 이것은 매우 지저분해질 수 있습니다. 다른 테스트 케이스를 생성하기 위해 하나의 테스트 케이스가 필요한 경우, 아마도 더 나은 방법이있을 것입니다.
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);
}
}
모든 답변 주셔서 감사합니다 ... 지금 확인하겠습니다 .... – Zana