Inilah halaman Scalatest tentang menggunakan pelari dan diskusi panjang tentang opsi -t
dan-z
.
Posting ini menunjukkan perintah apa yang berfungsi untuk file uji yang menggunakan FunSpec
.
Inilah file tesnya:
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)""")
}
}
}
Perintah ini menjalankan empat tes di iLike
blok uraian (dari baris perintah SBT):
testOnly *CardiBSpec -- -z iLike
Anda juga dapat menggunakan tanda kutip, jadi ini juga akan berfungsi:
testOnly *CardiBSpec -- -z "iLike"
Ini akan menjalankan tes tunggal:
testOnly *CardiBSpec -- -z "works with multiple arguments"
Ini akan menjalankan dua tes yang dimulai dengan "bekerja dengan":
testOnly *CardiBSpec -- -z "works with"
Saya tidak bisa mendapatkan -t
opsi untuk menjalankan tes apa pun di CardiBSpec
file. Perintah ini tidak menjalankan tes apa pun:
testOnly *CardiBSpec -- -t "works with multiple arguments"
Sepertinya -t
opsi berfungsi ketika tes tidak bersarang di describe
blok. Mari kita lihat file tes lain:
class CalculatorSpec extends FunSpec {
it("adds two numbers") {
assert(Calculator.addNumbers(3, 4) === 7)
}
}
-t
dapat digunakan untuk menjalankan tes tunggal:
testOnly *CalculatorSpec -- -t "adds two numbers"
-z
juga dapat digunakan untuk menjalankan tes tunggal:
testOnly *CalculatorSpec -- -z "adds two numbers"
Lihat repo ini jika Anda ingin menjalankan contoh-contoh ini.