여기에 Scalatest 페이지의 주자 사용 과 상의 확장 된 논의 -t
와 -z
옵션 .
이 게시물은를 사용하는 테스트 파일에 어떤 명령이 작동하는지 보여줍니다 FunSpec
.
테스트 파일은 다음과 같습니다.
package com.github.mrpowers.scalatest.example
import org.scalatest.FunSpec
class CardiBSpec extends FunSpec {
describe("realName") {
it("returns her birth name") {
assert(CardiB.realName() === "Belcalis Almanzar")
}
}
describe("iLike") {
it("works with a single argument") {
assert(CardiB.iLike("dollars") === "I like dollars")
}
it("works with multiple arguments") {
assert(CardiB.iLike("dollars", "diamonds") === "I like dollars, diamonds")
}
it("throws an error if an integer argument is supplied") {
assertThrows[java.lang.IllegalArgumentException]{
CardiB.iLike()
}
}
it("does not compile with integer arguments") {
assertDoesNotCompile("""CardiB.iLike(1, 2, 3)""")
}
}
}
이 명령은 iLike
describe 블록에서 SBT 명령 줄 의 네 가지 테스트를 실행합니다 .
testOnly *CardiBSpec -- -z iLike
따옴표를 사용할 수도 있으므로 다음과 같이 작동합니다.
testOnly *CardiBSpec -- -z "iLike"
단일 테스트가 실행됩니다.
testOnly *CardiBSpec -- -z "works with multiple arguments"
"works with"로 시작하는 두 가지 테스트가 실행됩니다.
testOnly *CardiBSpec -- -z "works with"
파일 -t
에서 테스트를 실행 하는 옵션을 얻을 수 없습니다 CardiBSpec
. 이 명령은 테스트를 실행하지 않습니다.
testOnly *CardiBSpec -- -t "works with multiple arguments"
-t
테스트가 describe
블록에 중첩되지 않은 경우 옵션이 작동하는 것 같습니다 . 다른 테스트 파일을 살펴 보자.
class CalculatorSpec extends FunSpec {
it("adds two numbers") {
assert(Calculator.addNumbers(3, 4) === 7)
}
}
-t
단일 테스트를 실행하는 데 사용할 수 있습니다.
testOnly *CalculatorSpec -- -t "adds two numbers"
-z
단일 테스트를 실행하는 데 사용할 수도 있습니다.
testOnly *CalculatorSpec -- -z "adds two numbers"
이 예제를 실행하려면 이 저장소를 참조하십시오 .