2014-11-11 6 views
0

Scaloid 및 일부 테스트 플랫폼 (ScalaTest 및 ScalaCheck을 사용)을 사용하여 Android 용 프로젝트를 구축하려고하지만 "sbt"또는 "testOnly *"로 입력하면 그것은 내 프로젝트에서 어떤 테스트도하지 않은 것처럼 행동합니다. 더 이상한 것은 StringSpecification.scala에 횡설수설을 넣으려고 시도하는 것입니다. 여전히 컴파일되므로이 스칼라 파일이 테스트 빌드에 포함되지 않는다는 정보를 얻을 수 있습니다. https://gist.github.com/archeg/e5618c52f5661f494418Sbt로 테스트 - 테스트하지 않음

내 프로젝트 구조는 다음과 같습니다 : 여기

내 build.sbt 내 테스트입니다

wlan-client/ 
| -- src/ 
| |-- scaloid.powerwlan/ #- my sources 
| 
| -- test/ 
| |-- src/ 
| | | -- StringSpecification.scala 
| | | -- My other tests.... 
| 
| -- build.sbt 

내 소스와 내 시험은 표준하지 폴더에 배치됩니다,하지만 난 것을 refleted 한 내 build.sbt

저는 Scaloid와 Sbt를 모두 사용하기 시작 했으므로 잊었거나 잘못했을 수도 있습니다.

IntelliJ Idea에서 실행하는 것이 중요하지만, IntelliJ Idea가 필자가 작성한 구문을 확인할 수있는 한 sbt 콘솔에서만 실행하는 것이 좋습니다.


마지막으로 완료했습니다. 나는 그것이 왜 작동하는지 모르겠다. 아무도 나에게 설명 할 수 없다면 대답으로 계산할 것이다 :

내가 한 것은 wlan-client 아래에 (끝에 s) 폴더를 만든다. 는 그럼 난이 스레드에 따라 build.sbtdebugIncludesTests in Android := false을 넣어 : https://github.com/pfn/android-sdk-plugin/issues/45와 나는 또한 build.sbt

내가 debugIncludesTests 변수가 필요한 이유를 이해하지만, tests 폴더가 작동하는 이유는 아무 생각에서 내 디렉토리 매핑을 제거 -이 협약을 따르지 않는 다른 폴더가 작동하지 않는 이유는 무엇입니까?

답변

1

규칙은 시험을 src/test/scala에 두는 것입니다. 당신은 그냥 가지고있다 test/src

+0

네,하지만 내 build.sbt'scalaSource in Test << = baseDirectory (_/"test")'에 넣었습니다. 제대로 이해한다면 이것을 무시해야합니다. – Archeg

관련 문제