यहाँ पर 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"
यदि आप इन उदाहरणों को चलाना चाहते हैं तो इस रेपो को देखें ।