Đây là trang Scalatest về việc sử dụng người chạy và thảo luận mở rộng về các tùy chọn -t
và-z
.
Bài đăng này cho thấy những lệnh nào hoạt động cho một tệp thử nghiệm sử dụng FunSpec
.
Đây là tập tin thử nghiệm:
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)""")
}
}
}
Lệnh này chạy bốn bài kiểm tra trong iLike
khối mô tả (từ dòng lệnh SBT):
testOnly *CardiBSpec -- -z iLike
Bạn cũng có thể sử dụng dấu ngoặc kép, vì vậy điều này cũng sẽ hoạt động:
testOnly *CardiBSpec -- -z "iLike"
Điều này sẽ chạy một thử nghiệm duy nhất:
testOnly *CardiBSpec -- -z "works with multiple arguments"
Điều này sẽ chạy hai bài kiểm tra bắt đầu bằng "hoạt động với":
testOnly *CardiBSpec -- -z "works with"
Tôi không thể có -t
tùy chọn để chạy bất kỳ thử nghiệm nào trong CardiBSpec
tệp. Lệnh này không chạy bất kỳ kiểm tra nào:
testOnly *CardiBSpec -- -t "works with multiple arguments"
Có vẻ như -t
tùy chọn này hoạt động khi các kiểm tra không được lồng trong describe
các khối. Chúng ta hãy xem một tệp thử nghiệm khác:
class CalculatorSpec extends FunSpec {
it("adds two numbers") {
assert(Calculator.addNumbers(3, 4) === 7)
}
}
-t
có thể được sử dụng để chạy thử nghiệm duy nhất:
testOnly *CalculatorSpec -- -t "adds two numbers"
-z
cũng có thể được sử dụng để chạy thử nghiệm duy nhất:
testOnly *CalculatorSpec -- -z "adds two numbers"
Xem repo này nếu bạn muốn chạy các ví dụ này.