2014-02-28 4 views
31

IntelliJ (13.0.2 133.696)를 평가 중이며 IDE 내에서 실행될 jUnit 테스트를 수행 할 수 없습니다.Intellij에서 테스트 실행 중 : 클래스를 찾을 수 없음

내 프로젝트는 다중 모듈 gradle 프로젝트이며 scala를 사용합니다. 내가 같은 오류가 IDE에서 실행하려고 XXXX/xxxxx는과마다/xxxxx는/XXX/XXX

테스트 클래스가 SRC/테스트/스칼라 아래에 위치/:

Class not found: "xxx.xxxxx.xxx.xxxx.xxxxx.AccountRepositoryTest" 

테스트 클래스는 공상 아무것도 간단한 JUnit 테스트 : 나는 관련 질문 Cannot run Junit tests from IDEA 13.0 IDE for imported gradle projects을 발견했습니다

@RunWith(classOf[SpringJUnit4ClassRunner]) 
@ContextConfiguration(classes = Array(classOf[DataConfig], classOf[SettingsConfig])) 
class AccountRepositoryTest extends AssertionsForJUnit { 

만 제공 수정 (13.0.2로 업그레이드) 작동하지 않습니다.

나는 여전히 최신 EAP로 업그레이드를 시도했지만 여전히 동일한 문제가 있습니다.

+0

Spring JUnit 및 Scala 라이브러리는 classpath에 있어야합니다. – naXa

+0

Refresh gradle 프로젝트가 문제를 수정합니다. – gabbler

답변

2

해당 테스트의 실행/디버그 구성을 확인하십시오. "모듈의 classpath 및 SDK 사용 :"이 모듈을 가리켜 야합니다.

모듈에는 Scala 패싯이 있어야하며 해당 클래스는 "소스 폴더 테스트"안에 있어야합니다.

18

이 경우에도 동일한 문제가 발생했습니다.이 경우 프로젝트 설정에서 "프로젝트 컴파일러 출력"경로가 비어 있기 때문에 문제가 발생했습니다. 그것을 해결하기 위해

Project Structure configuration screen

나는 내 프로젝트의 루트에 classes 디렉토리를 생성하고, 절대 경로 (탐색 할 버튼을 사용)에 Project compiler output를 설정합니다.

+1

이것에 대한 버그를 등록했습니다. 투표하십시오! https://youtrack.jetbrains.com/issue/IDEA-148213 –

+0

"Project Compiler Output"필드에 무언가를 잘못 입력 한 경우에도 발생할 수 있습니다. 방금 입력했는데 전체 경로 여야합니다. –

5

테스트 클래스 패키지와 테스트 사례를 작성하는 클래스가 동일하지 않은지 확인하십시오. 테스트 케이스와 클래스가 동일한 패키지를 가지고 있다면 컴파일러는 src 폴더를보고 테스트 폴더를 무시합니다.

1

나는 동일한 문제가있었습니다. 테스트 클래스의 바이트 코드 (제외 출력 경로)에 대한 모듈 설정 -> 모듈 -> 경로 -> 출력 경로 테스트를 내 디렉토리에 대한 경로를 변경했습니다. 이제 모든 것이 작동합니다!

+0

Gradle 2.6을 사용 중이고 "apply plugin : 'scala'"를 추가하는 것을 잊어 버렸습니다. 이걸 추가하면 모든 것이 잘 돌아갑니다. –

7

프로젝트 설정 -> 프로젝트로 이동하십시오.

프로젝트 컴파일러 출력 내용을 입력하십시오 : ex. D : \의 repo \ 프로젝트 \

이동이 모듈에서 -> 경로

확인 있는지 확인하십시오

출력 경로가 D 같다 : \의 repo \ 프로젝트 \ 밖으로 \ 생산

테스트 출력 D : \ repo \ Project \ out \ test와 같은 경로

작동해야합니다!

1

동일한 문제가 발생하여 Intellij가 테스트 출력 경로를 찾지 못했습니다. 그러나 일반 응용 프로그램을 실행해도 아무런 문제가 없었습니다.

필자에게 상속 된 프로젝트 컴파일 경로에서 모듈 컴파일 출력 경로를 사용하여 수정되었습니다.

프로젝트 설정 -> 모듈 -> (모듈) -> 경로 (탭)

변경 라디오 "참조 모듈은 출력 경로를 컴파일 사용"버튼을 선택합니다. 필자에게 자동 채우기 제안이 적용되면 자동 채우기가 작동하지 않으면 올바른 테스트 출력 경로를 수동으로 입력해야 할 수도 있습니다. 설정 변경을 적용하는 것을 잊지 마십시오.

5

이러한 답변 중 일부는 Project Settings (프로젝트 설정)로 해결하고 몇 가지 시도해 보았습니다.

내가 IDEA (14)

를 사용하고 있습니다; (전체 공개는 그냥 메이븐을 사용하고 있습니다,하지만 난이 Gradle을 함께 할 수있다 무엇을 볼 수 없습니다 여기 Gradle을 저글링하는 것을 시도하고 있지 않다.)

I, 단지 인 IntelliJ가 길을 잃은 것 같았다 때문에, 일을 발견이 무엇을했다 : 그럼 IntelliJ에 재발

$ rm -rf .idea project-name.iml 

과 한 파일 -> 열기 -> 내 프로젝트의 루트로 이동, 등등 .- - 간단히 말해서, 내 프로젝트를 다시 만들었습니다.

IntelliJ가 문제를 해결했습니다. 패키지 이름과 클래스 이름을 모두 리팩토링 했으므로이 프로젝트에서 원래 뭔가를 엉망으로 만들었을 것입니다. 프로젝트 이름을 변경했습니다. (아마도 내 잘못이었을 것입니다.)

+0

고마워요, 저에게있어 .iml 파일을 옮기고 다시 생성하는 것만으로도 충분합니다 (메이븐 탭에서 - 메이븐과 동일한 문제가 있음) – fallens4e

+0

일부 모듈을 옮겼습니다. 또한 .iml 설정에서 프로젝트 구조가 깨졌습니다 비슷한 증상이 나타납니다. – otonglet

+0

내 프로젝트에는 많은 모듈이있는 경향이 있기 때문에 시간이 많이 걸리는 단점이 있습니다. 언제든지 모듈을 설정 (재설정)해야합니다. 모듈 간 리팩토링 (이동)을 할 때마다 발생하는 것으로 보입니다. –

0

캐시를 무효화하고 다시 시작할 수 있습니다. 새 종속성/클래스를 추가하면 일반적으로 문제가 해결됩니다.

0

Intellij IDEA에서 테스트 폴더로 표시된 테스트 파일의 폴더를 shure하십시오. 그것은 나를 위해 일했다. 같은 이름의 소스 파일이있는 디렉토리가 여러 개있는 경우 클래스 소스 파일에 패키지가없는 경우 패키지를 추가하십시오!

관련 문제