これは、ランナーの使用に関する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
(SBTコマンドラインから)describeブロックで4つのテストを実行します。
testOnly *CardiBSpec -- -z iLike
引用符を使用することもできるため、これも機能します。
testOnly *CardiBSpec -- -z "iLike"
これは単一のテストを実行します:
testOnly *CardiBSpec -- -z "works with multiple arguments"
これで、「〜で始まる」という2つのテストが実行されます。
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"
これらの例を実行する場合は、このリポジトリを参照してください。