2015-02-24 37 views
1

我有許多測試數據集通過相同的ScalaTest單元測試運行。如果每個測試數據集都是自己的一組命名測試,那麼如果一個數據集不能通過某個測試,我就知道它是哪一個測試數據集,而不是進行單個測試,並查看哪個文件失敗。我似乎無法找到測試名稱在運行時生成的方式。我查看了基於財產和表格的測試,目前正在使用should behave like來分享燈具,但這些似乎都不符合我的要求。你能動態地從輸入數據中爲ScalaTest生成測試名嗎?

我沒有發現ScalaTest中正確的測試方法,或者這是不可能的嗎?

回答

0

如何使用ScalaTest的線索機制,以便任何測試失敗報告可以作爲線索使用哪個數據集?

您可以使用斷言提供的withClue結構, 這是由ScalaTest各種風格特質延伸到 額外的信息添加到的失敗或取消測試報告。

又見AppendedClues

+0

文檔這就是我現在做的事情。我有一個測試並遍歷測試集,併爲每次迭代設置withClue。我寧願有n個單獨的測試,每個測試的測試名稱中的集合名稱爲 – 2015-03-02 23:56:44

+0

爲什麼?你可以用不同的測試名稱來做什麼,否則你不能這樣做? – 2015-03-03 01:25:04

+0

測試集是不同的輸入場景。如果我在基於測試名稱而不是測試輸出的情況下失敗,這將是很好的。即我設置了「scenario1」和「scenario2」。有線索,有一個測試用於測試集應該通過條件X「」,如果失敗,我必須查看輸出以查看「scenario1」或「scenario2」是否失敗。使用單獨生成的測試名稱,測試名稱會顯示給我,例如, ''「scenario2應該通過條件X」'' – 2015-03-03 23:34:26