FooActivityTestCase
다음과 같이 ActivityInstrumentationTestCase2를 확장하려고합니다.
FooActivityTestCase
FooActivityTestCase
FooActivityTestCase
FooActivityTestCase
FooActivityTestCase
FooActivityTestCase
FooActivityTestCase
이클립스가 생성자에서 다음 오류를 표시합니다.Java generics : Android Activity 테스트 케이스를 감싸는/확장하는 방법은 무엇입니까?
The constructor FooActivityTestCase<MyActivity>(String, Class<MyActivity>) is undefined
꽤 제네릭을 사용하는 방법에 문제가 있다는 것을 확신합니다. SpecificFooTestCase
가 ActivityInstrumentationTestCase2
을 확장 할 때 어떤 오류도 발생하지 않습니다. 아무도 내가 잘못하고있는 것을 지적 할 수 있습니까?
쿠 블라이 칸 (Kublai Khan)과 마이클 마이어스 (Michael Myers)의 제안은 함께 작용합니다. 생성자에서 FooActivityTestCase
를 ActivityInstrumentationTestCase2<T>
와 Class<Activity>
을 Class<T>
까지 확장하도록 변경 한 후에는 클래스가 오류없이 컴파일됩니다. 이것은 결과 클래스입니다 (SpecificFooTestCase는 변경되지 않았습니다).
public abstract class FooActivityTestCase<T extends Activity>
extends ActivityInstrumentationTestCase2<T> {
public FooActivityTestCase(String pckg, Class<T> activityClass)
{
super(pckg, activityClass);
}
public void foo(){ ... }
}
당신이 클래스와 클래스 매개 변수를 대체 할 수 있습니까? (안드로이드가 없다면, 나는 짐작할 만하다.) –
'FooActivityTestCase'는'ActivityInstrumentationTestCase2'이 아닌'ActivityInstrumentationTestCase2 '을 확장해야한다. –