在TestNg和Java中,我們可以使用DataProvider運行多個測試用例,並將其作爲單獨的測試運行,這意味着在測試失敗時不會停止執行測試。有沒有ScalaTest或Specs/Specs2的模擬器?具有多個測試用例的Scalatest或specs2
9
A
回答
24
在ScalaTest和specs2中,很容易在運行時創建測試用例,以便用數據參數化它們。下面是與specs2一個例子:
class BasketSpecification extends Specification {
"a basket must contain fruits" >> {
Seq(apple, banana, orange) foreach { fruit =>
("it contains: " + fruit) >> {
basket must contain(fruit)
}
}
}
}
然後輸出爲:
A basket must contain fruits
+ it contains: apple
+ it contains: banana
+ it contains: orange
而下面的規格:
class BasketSpecification extends Specification {
"a basket must contain fruits" >> {
Seq(apple, cake, orange) foreach { fruit =>
("it contains: " + fruit) >> {
basket must contain(fruit)
}
}
}
}
會打印出像:
A basket must contain fruits
+ it contains: apple
x it contains: cake
'basket' does not contain 'cake'
+ it contains: orange
9
這個概念被稱爲「shar編輯測試「,因爲相同的測試代碼被多個燈具」共享「,其中」燈具「是TestNG DataProvider方法中的」數據「。對於ScalaTest中的每個樣式特徵,都有一種方法可以將測試表示爲函數。這裏有一個例子WordSpec:
http://www.scalatest.org/scaladoc-1.6.1/#[email protected]
您也可以只使用一個for循環來註冊不同的數據點相同的測試代碼。這在一封電子郵件中討論這是這裏想出了:
http://groups.google.com/group/scalatest-users/browse_thread/thread/7337628407b48064#
的在這種情況下,循環代碼看起來像:
for (browser <- List("IE", "Chrome", "Firefox")) {
test(browser + ": test one") { driver =>
info("Testing using " + driver)
}
test(browser + ": test two") { driver =>
info("Testing using " + driver)
}
test(browser + ": test three") { driver =>
info("Testing using " + driver)
}
test(browser + ": test four") { driver =>
info("Testing using " + driver)
}
test(browser + ": test five") { driver =>
info("Testing using " + driver)
}
}
}
這實際上寄存器15次的測試中,每個瀏覽器驅動器五個測試。我相信這就是你所追求的。
相關問題
- 1. Specs2 - 每個測試用例
- 2. 沒有夾具的ScalaTest測試名稱?
- 3. 使用ScalaTest測試多個數據集
- 4. Scalatest或Specs2 - 在並行運行的測試中設置和拆卸變量
- 5. 對specs2中的測試用例或「shared_examples_for」進行分組
- 6. ScalaTest:測試具有多個瀏覽器的網絡應用程序
- 7. Play2 Scala specs2 - 單個應用程序中的多個測試WithServer
- 8. 是否有可能在同一個項目中使用specs2和scalatest運行兩個測試?SBT
- 9. specs2運行一個特定的測試
- 10. 一次標記許多測試中ScalaTest
- 11. Specs2 - 標記測試運行
- 12. Scalatest Maven插件「沒有執行測試」
- 13. ScalaTest:有條件地忽略WordSpec測試
- 14. 許多測試類或一個測試類有很多方法?
- 15. Scalatest - 如何測試println
- 16. 將測試標記爲scalatest
- 17. ScalaTest:運行測試50次
- 18. 運行ScalaTest測試並行
- 19. Spray:使用Specs2測試文件上傳
- 20. 每個班級的一個測試用例或同一個班級的所有測試用例
- 21. 如何編寫異步Scala.js測試(例如使用ScalaTest)?
- 22. PHP SimpleTest - 使用多個測試用例
- 23. 如何在scalatest中禁用測試?
- 24. ScalaTest afterAll()在每次測試後調用
- 25. 如何使用ScalaTest測試Dao對象
- 26. 使用ScalaTest測試AKKA演員
- 27. 從單個測試用例中運行多個TestNG測試用例
- 28. 一個測試用例是否可以依賴多個測試用例?
- 29. 用一個測試用例測試所有的django模型
- 30. 蟒蛇硒多個測試用例
問題很混亂。請提供一個你是什麼意思的例子。 –