2012-10-16 2 views
4

JUnit 4 테스트를 실행하려고하면 Eclipse에서 NullPointerException이 발생합니다. JUnit3이 작동합니다.Eclipse JUnit 4에서 NullPointerException을 발생했습니다.

내가 노력하고있어 다음 테스트 클래스 :

java.lang.NullPointerException 
    at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate$ClasspathLocalizer.localURL(JUnitLaunchConfigurationDelegate.java:420) 
    at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate$ClasspathLocalizer.entryString(JUnitLaunchConfigurationDelegate.java:409) 
    at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate$ClasspathLocalizer.addEntry(JUnitLaunchConfigurationDelegate.java:396) 
    at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate$ClasspathLocalizer.localizeClasspath(JUnitLaunchConfigurationDelegate.java:387) 
    at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.getClasspath(JUnitLaunchConfigurationDelegate.java:364) 
    at org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationDelegate.launch(JUnitLaunchConfigurationDelegate.java:147) 
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:855) 
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:704) 
    at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1047) 
    at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1251) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 

내가 사용 OS X 스노우 레오파드 (Snow Leopard) 자바 SDK 1.6.0_35로 (에서 : 여기

import static org.junit.Assert.fail; 
import org.junit.Test; 

public class Test { 

    @Test 
    public void test() { 
     fail("Not yet implemented"); 
    } 

} 

는 예외 스택 추적입니다 사과). JDK와 JUnit 4가 모두 내 빌드 경로에 있습니다. Java 버전을 문제와 관련이 있습니까?

UPDATE :

좋아 나는이 생각하지 바보입니다. C++에서 뭔가를해야만했기 때문에 C/C++ 개발자 용 Eclipse를 설치했습니다. 그러나 나는 Android SDK 플러그인으로 Android를 개발하기 위해 동일한 인스턴스를 사용했으며 작은 Java 응용 프로그램을 만들었습니다. 하지만 Java Development Tools 또는 Java EE Developer Tools를 설치하지 않았습니다. 지금 설치하고 JUnit 4가 작동합니다.

이 도구 중 하나가 JUnit 4에 사용 된 것 같습니다. JUnit 3이 작동했지만 이상합니다. 어쨌든 이제 작동합니다.

감사합니다.

+0

Java에는 많은 문제가있어 간단한 버전 업그레이드로 해결할 수 있습니다. 항상 그렇듯이 최신 버전을 사용하는 것이 좋습니다 (특히 최근 몇 가지 주요 결함을 발견 한 이후). –

+0

어떤 Eclipse 버전을 사용하고 있습니까? –

+0

3.6 (Helios)를 사용하고 http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/3.6/org.eclipse.jdt.junit/core/3.6.0을 보면 /org/eclipse/jdt/junit/launcher/JUnitLaunchConfigurationDelegate.java#JUnitLaunchConfigurationDellegate는 Eclipse 설치가 손상된 것 같습니다. (Eclipse의) 새로운 설치를 사용해보십시오. –

답변

10

좋아, 나는 이것을 생각하지 않은 바보입니다. C++에서 뭔가를해야만했기 때문에 C/C++ 개발자 용 Eclipse를 설치했습니다. 그러나 나는 Android SDK 플러그인으로 Android를 개발하기 위해 동일한 인스턴스를 사용했으며 작은 Java 응용 프로그램을 만들었습니다. 하지만 Java Development Tools 또는 Java EE Developer Tools를 설치하지 않았습니다. 지금 설치하고 JUnit 4가 작동합니다.

+1

동일한 문제가 있습니다. 나는 이클립스 ADT를 가졌다. – dbalakirev

0

가져 오기 org.junit.Test가 클래스 이름과 충돌합니다. 테스트의 이름을 예 : ATEST는 얻을 :

java.lang.AssertionError: Not yet implemented 
    at org.junit.Assert.fail(Assert.java:91) 
    at ATest.test(ATest.java:8) 

또 다른 옵션 (기본 패키지를 사용하지으로) 패키지에 테스트를 넣어 수 있습니다

소스 코드 :

import static org.junit.Assert.fail; 
import org.junit.Test; 

public class ATest { 

    @Test 
    public void test() { 
     fail("Not yet implemented"); 
    } 

} 

최대 이클립스 주노와 테스트 OS 10.8.0

java version "1.6.0_35" 
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-10M3811) 
Java HotSpot(TM) Client VM (build 20.10-b01-428, mixed mode) 

나는 이것이 또한 사자 에게서도 효과가있을 것이라고 확신한다.

+0

안녕하세요 볼프강입니다. 응답 해 주셔서 감사합니다. 불행하게도 테스트 클래스를 ATest로 바꾸고 테스트를 패키지에 넣는 것은 도움이되지 않았습니다. – superbly

+0

내 회사 웹 페이지 http : /www.bitplan.com의 문의 양식을 통해 문의하십시오. 나는 개인 전자 메일로 회신하고 문제를 해결하려고한다. (당신과 같은 환경에서 : lion, eclipse juno, 똑같은 java 버전). –

+0

안녕하세요 볼프강. 협조 해 주셔서 감사합니다. 이제 작동합니다. 질문에서 편집을 참조하십시오. – superbly

0

해결 방법은 업데이트입니다. 기본값은 JUnit 4이며 설치되지 않았습니다. JUnit 3으로 변경되면 작동합니다.

-1

나는 동일한 문제가있었습니다! 원근법을 재설정하면 (마우스 오른쪽 버튼 클릭 -> 재설정) 작동합니다!

1

동일한 문제가있어서 업그레이드 문제로 인해 버전 22.3에서 23로 ADT를 다시 설치합니다. 새 버전 ADT는 'Java Development Tool'을 제외 한 것 같습니다.

자세한 내용은 '도움말'-> '정보'-> 'Installatoin Details'에서 확인할 수 있습니다.

그래서 JDT (Juno - http://download.eclipse.org/releases/juno)를 설치하기 위해 Eclipse에 존재하는 Juno 업그레이드 사이트를 사용합니다. 그런 다음 정상적으로 작동합니다.

+0

감사합니다. 이것은 내가 거의 4hrs에서 찾고 있었던 하나이었다! !! –

0

새로 설치 한 Eclipse Neon과 ADT (Java가 포함 된 Android, 일반적으로 Junit을 설치)와 동일한 문제가 발생했습니다.

방금 ​​JDT (Java Development Tools)를 설치했으며 잘 작동합니다.

관련 문제