조금 우리 build.sbt
에서 test
및 testOnly
을 무시하는 것입니다.
class Suite1 extends FlatSpec{
"Test1 in Suite1" should "succeed" in{
succeed
}
}
지금
class Suite2 extends FlatSpec{
"Test1 in Suite2" should "succeed" in{
succeed
}
}
우리의 정리가 사는 곳의이 /project/
폴더 CleanUp.scala
개체 아래 추가 할 수 있습니다 :
object CleanUp{
def cleanUp:Unit = println("Cleaning up after all suites are completed.")
}
가 있다고 그래서 우리가 src/test/scala
에서 다음과 같은 두 개의 스위트 룸이 있다고 가정 최소한의 예를 들자면 실제로 필요한 복잡한 정리 작업이있을 수 있습니다. 지금의 우리 build.sbt
의는 다음과 같은 추가 할 수 있습니다 :
(test in Test) := {
val testsResult = (test in Test).value
CleanUp.cleanUp
testsResult
}
(testOnly in Test) := {
(testOnly in Test).evaluated
CleanUp.cleanUp
}
이 실행 된 정리 (사용자 스위트에 의해 지정 또는 전체) 모두 스위트 룸 후 적용 할 수 있도록 test
및 testOnly
작업의 기본 동작을 재정의합니다.
예를 들어, 여기에 새로운 testOnly
내 SBT 콘솔 검사입니다 :
[IJ]sbt:AfterAllTests> testOnly Suite1
[info] Suite1:
[info] Test1 in Suite1
[info] - should succeed
[info] Run completed in 150 milliseconds.
[info] Total number of tests run: 1
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 1, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
Cleaning up after all suites are completed.
[success] Total time: 0 s, completed Dec 2, 2017 12:19:48 AM
[IJ]sbt:AfterAllTests>
그리고 여기에 새로운 test
의 검사입니다 : 정리가 호출됩니다 당신이 볼 수 있듯이
[IJ]sbt:AfterAllTests> test
[info] Suite2:
[info] Test1 in Suite2
[info] - should succeed
[info] Suite1:
[info] Test1 in Suite1
[info] - should succeed
[info] Run completed in 164 milliseconds.
[info] Total number of tests run: 2
[info] Suites: completed 2, aborted 0
[info] Tests: succeeded 2, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
Cleaning up after all suites are completed.
[success] Total time: 2 s, completed Dec 2, 2017 12:28:25 AM
[IJ]sbt:AfterAllTests>
. 희망이 도움이됩니다.