Ось сторінка 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):
testOnly *CardiBSpec -- -z iLike
Ви також можете використовувати лапки, щоб це також працювало:
testOnly *CardiBSpec -- -z "iLike"
Це запустить єдиний тест:
testOnly *CardiBSpec -- -z "works with multiple arguments"
Це запустить два тести, які починаються з "працює з":
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"
Дивіться це репо, якщо ви хочете запустити ці приклади.