Hier ist die Scalatest-Seite zur Verwendung des Läufers und die ausführliche Diskussion über die -t
und -z
Optionen .
Dieser Beitrag zeigt, welche Befehle für eine verwendete Testdatei funktionieren FunSpec
.
Hier ist die Testdatei:
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)""")
}
}
}
Dieser Befehl führt die vier Tests im iLike
Beschreibungsblock aus (über die SBT-Befehlszeile):
testOnly *CardiBSpec -- -z iLike
Sie können auch Anführungszeichen verwenden, damit dies auch funktioniert:
testOnly *CardiBSpec -- -z "iLike"
Dadurch wird ein einzelner Test ausgeführt:
testOnly *CardiBSpec -- -z "works with multiple arguments"
Dadurch werden die beiden Tests ausgeführt, die mit "funktioniert mit" beginnen:
testOnly *CardiBSpec -- -z "works with"
Ich kann -t
keine Tests in der CardiBSpec
Datei ausführen . Dieser Befehl führt keine Tests aus:
testOnly *CardiBSpec -- -t "works with multiple arguments"
Die -t
Option funktioniert anscheinend, wenn Tests nicht in describe
Blöcken verschachtelt sind. Schauen wir uns eine andere Testdatei an:
class CalculatorSpec extends FunSpec {
it("adds two numbers") {
assert(Calculator.addNumbers(3, 4) === 7)
}
}
-t
kann verwendet werden, um den einzelnen Test auszuführen:
testOnly *CalculatorSpec -- -t "adds two numbers"
-z
kann auch verwendet werden, um den einzelnen Test auszuführen:
testOnly *CalculatorSpec -- -z "adds two numbers"
Sehen Sie sich dieses Repo an, wenn Sie diese Beispiele ausführen möchten.