İşte üzerinde Scalatest sayfası koşucusu kullanarak ve uzun uzun tartışıldıktan -t
ve -z
seçenekler .
Bu yazı, kullanılan bir test dosyası için hangi komutların çalıştığını gösterir FunSpec
.
İşte test dosyası:
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)""")
}
}
}
Bu komut, iLike
açıklama bloğundaki dört testi çalıştırır (SBT komut satırından):
testOnly *CardiBSpec -- -z iLike
Tırnak işaretleri de kullanabilirsiniz, böylece bu da işe yarar:
testOnly *CardiBSpec -- -z "iLike"
Bu tek bir test gerçekleştirir:
testOnly *CardiBSpec -- -z "works with multiple arguments"
Bu, "şununla çalışır" ile başlayan iki testi çalıştırır:
testOnly *CardiBSpec -- -z "works with"
Dosyada -t
herhangi bir test çalıştırma seçeneğini alamıyorum CardiBSpec
. Bu komut herhangi bir test çalıştırmaz:
testOnly *CardiBSpec -- -t "works with multiple arguments"
-t
Testler describe
bloklara yerleştirilmediğinde seçenek işe yarıyor gibi görünüyor . Şimdi başka bir test dosyasına bakalım:
class CalculatorSpec extends FunSpec {
it("adds two numbers") {
assert(Calculator.addNumbers(3, 4) === 7)
}
}
-t
tek testi çalıştırmak için kullanılabilir:
testOnly *CalculatorSpec -- -t "adds two numbers"
-z
tek bir testi çalıştırmak için de kullanılabilir:
testOnly *CalculatorSpec -- -z "adds two numbers"
Bu örnekleri çalıştırmak istiyorsanız bu repoya bakın .