@ RunWith 주석을 적용하지 않고이 러너를 사용하여 테스트를 실행하는 Eclipse 플러그인의 일부가 될 사용자 정의 JUnit 러너를 작성했습니다. 클래스. org.eclipse.debug.ui.launchShortcuts 확장 점을 사용하여 'Run As'컨텍스트 메뉴 아래에 추가 항목을 가져올 수있었습니다. 그러나 나는 사용자 정의 러너를 사용하여 테스트를 호출하는 방법을 잘 모릅니다.사용자 정의 JUnit 러너 구현을 사용하여 Eclipse 플러그인에서 JUnit 테스트 시작
2
A
답변
3
그래서 나는 내가 원하는 것을 할 길을 찾았습니다. 그러나, 그것은 약간 해키처럼 보입니다. 하지만 다른 사람이 같은 문제에 부딪혔을 때를 대비해 여기에 답글을 게시 할 것이라고 생각했습니다.
먼저이 같은 JUnit을 종류를 등록해야합니다 : XML에서
<extension point="org.eclipse.jdt.junit.internal_testKinds">
<kind
id="my.junit.kind"
displayName="Your Kind Name"
finderClass="org.eclipse.jdt.internal.junit.launcher.JUnit4TestFinder"
loaderPluginId="org.eclipse.jdt.junit4.runtime"
loaderClass="your.test.loader.MyLoaderClass">
<runtimeClasspathEntry pluginId="org.eclipse.jdt.junit4.runtime" />
<runtimeClasspathEntry pluginId="org.eclipse.jdt.junit.core" />
<runtimeClasspathEntry pluginId="org.eclipse.jdt.junit.runtime"/>
</kind>
</extension>
당신이 차례로 org.eclipse.jdt.internal.junit.runner.ITestReference
의 구현을 반환 org.eclipse.jdt.internal.junit.runner.ITestLoader
의 사용자 지정 구현을 지정해야합니다. 핵심 부분은 사용자 정의 JUnit 러너의 인스턴스를 생성하기 때문에 ITestReference를 구현 한 것입니다.
public class MyTestReference extends JUnit4TestReference
{
public MyTestReference(final Class<?> p_clazz, String[] p_failureNames)
{
super(new Request()
{
@Override
public Runner getRunner()
{
return new MyCustomRunner(p_clazz);
}
}, p_failureNames);
}
...
}
그런 다음 마지막으로 당신이 내부 클래스의 무리를 사용합니까 적절하게
public class MyJunitLaunchShortcut extends JUnitLaunchShortcut
{
@Override
protected ILaunchConfigurationWorkingCopy createLaunchConfiguration(IJavaElement p_element) throws CoreException
{
ILaunchConfigurationWorkingCopy config = super.createLaunchConfiguration(p_element);
config.setAttribute(JUnitLaunchConfigurationConstants.ATTR_TEST_RUNNER_KIND, "my.junit.kind");
return config;
}
}
종류를 설정하는 시작 바로 가기에이 링크, 그래서 더 좋은 방법은 아마이있다. 그러나 이것은 효과가있는 것으로 보인다.
관련 문제
- 1. junit 커스텀 러너 구현
- 2. 사용자 정의 Eclipse 빌더를 테스트하는 JUnit
- 3. eclipse junit plugin 테스트 작성
- 4. 그라디언트를 사용한 사용자 정의 JUnit 테스트 감지
- 5. 실행 JUnit 테스트
- 6. JUNIT 커스텀 러너 IntelliJ 10 문제
- 7. 이클립스에서의 원격 JUnit 테스트
- 8. JUnit Eclipse Plugin?
- 9. junit 테스트에서 Eclipse 마법사를 시작 하시겠습니까?
- 10. JUnit Eclipse 플러그인에서 단위 테스트의 표시 이름 변경
- 11. Junit 3, Java 메소드에서 테스트 시작
- 12. Eclipse 체크 아웃 JUnit 테스트 용 SVN
- 13. Eclipse에서 캐치되지 않는 런타임 예외 일시 중단 Junit 테스트 러너
- 14. 일반 JUnit 테스트 클래스
- 15. Android 액티비티 Junit 테스트
- 16. JUnit 테스트 데이터베이스 설정
- 17. JUnit - 일부 클래스 메소드가 Eclipse JUnit 마법사에 나타나지 않습니까?
- 18. 안드로이드에서의 JUnit 테스트 - DialogFragment
- 19. NetBeans의 GWT JUnit 테스트
- 20. WSO2 JUnit/통합 테스트
- 21. Junit 파일 조롱 테스트
- 22. Eclipse grails가 JUnit 테스트로 실행됩니다.
- 23. JUnit 테스트 내가 주석
- 24. 스칼라의 JUnit 테스트 카테고리?
- 25. 다른 JUnit 테스트 클래스에서 JUnit 테스트 클래스 실행
- 26. Spring JUnit 테스트 오류
- 27. Eclipse에서 사용자 정의 된 새 JUnit 템플릿?
- 28. Eclipse JUnit 플러그인에서 테스트를 실행할 때 로깅 설정을 재정의 하시겠습니까?
- 29. JUnit 테스트 종료
- 30. JUnit 명령 줄 테스트
'Eclipse가 실제로 테스트를 실행하는 방법'에 대한 내 대답은 http://stackoverflow.com/a/7896628/1836 도움이 되나요? –
나는 그 게시물을 보았고, 지금까지 이걸 가지고있는 것이지. 나는 ITestReference를 구현하고, internal_kind 확장 점을 사용하고, 내부 클래스를 묶어서 작동시킬 수 있었다. 하지만 이것은 훨씬 더 복잡해 보입니다! 왜 RemoteTestRunner는 junit 러너를 지정하는 매개 변수를 가질 수 없었습니다!? – ekj