編輯:筆記,問題288805是相似的,但是,我專門問我怎麼做MSTest的選擇默認測試順序。請看這個問題的其餘部分。謝謝Eilon的the link。MSTest如何確定運行測試方法的順序?
我正在查看一個傳統的MSTest項目。 測試總是以相同的順序運行。 訂單不是字母,而是在兩個* .cs TestMethod文件中的方法之間彈跳 。
我沒有更改舊版 代碼的物理順序。爲了方便起見,我在第一次測試的方法名稱上追加了「MSTest01」 ,第二次測試的方法名稱爲「MSTest02」, 方法名稱等。
令我吃驚的是,TestMethod 功能的執行順序改變了; #3第一,#6秒,#5第三, 等等。
當我刪除從 TestMethod的函數名的「MSTestnn」的字符串,它們的執行順序 從 改回以前的順序,即從第一個cs文件 一個測試,兩次測試第二的.cs文件,來自第一個 .cs文件的五個測試,等等。
看來,文件的位置可能不是一個因素 而TestMethod的函數名可能是一個因素。
問題:任何人都可以解釋MSTest如何決定TestMethod函數的執行順序嗎?
通常,您不應該關心單元測試運行的順序。這就是說,這是一個有趣的問題。 – Mathias 2010-02-12 21:49:56
@ Mathias 我同意。我喜歡xUnit.net以隨機順序運行測試的方式。隨機順序是最好的選擇,因爲它可能會揭示不應該存在的順序依賴關係。看看我對特洛伊的評論。 – gerryLowry 2010-02-12 22:16:26
?奇怪的是,我對特洛伊的評論似乎已經消失,連同他的問題。 F.Y.I. – gerryLowry 2010-02-15 15:26:29