2014-09-04 55 views
0

我在一個文件中有30多個測試的集合,我在Visual Studio中使用MSTest作爲單獨測試來運行它們。然而,我注意到了一個不尋常的bug。看起來,當我對它自己運行一個測試時,所有其他與該測試共享相同根名稱的測試也會運行。VS中的MSTest運行多個具有相似名稱的測試

例如,如果我運行TestAddClaim,則TestAddClaimWrongID和TestAddClaimWrong EnrollmentAction也會運行。同樣,如果我運行TestAddGroupContact然後完成TestAddGroupContactWrongGroupID也運行。

這是一個已知的問題?

爲了防止這種情況的發生,我將把所有測試數據都預先設定好。有更好的解決方案嗎?

+0

這從來沒有發生過我。你使用什麼版本? – nvoigt 2014-09-04 10:26:24

+0

這也不會發生在我身上。即使如此,您應該考慮以以下格式重命名您的測試方法:MethodTesting_Condition_ExpectedOutcome(例如,AddClaim_WrongId_ThrowsException,AddClaim_ValidInput_ReturnsTrue)。我不記得我第一次讀到這裏的內容,但這是一種非常清楚地幫助確定每個測試意圖的做法,並且使它們在長期錯誤中更易於維護。它也應該解決你的問題。 – Adam47 2014-09-04 14:09:01

+0

你如何運行測試?如果在IDE中,哪個版本?如果從命令行,你使用了什麼命令? – 2014-09-11 21:04:43

回答

0

這是通過設計使您可以使用一個命令運行多個測試。缺點是你最終無意中用一個命令運行多個測試。看到https://msdn.microsoft.com/en-us/library/ms182489.aspx

我也碰到過這個,但我的測試是在不同的測試列表,並具有不同的測試特性,所以我使用「/ category」來限制測試運行到那些包含某些特質。您也可以使用「/ testlist」來僅指定某些有序測試列表中的測試。