2012-04-11 28 views
1

我正在使用MSTest,當我第一次運行所有單元測試(或單獨測試)時,我想創建一個可以放入的唯一標識符db記錄來跟蹤測試。問題是我想要在所有測試中創建和使用相同的唯一引用。我真正想要使用的是DateTime郵票。我正在尋找一個事件總是被提出,然後我可以把它放在一個靜態容器中,然後在測試期間訪問這個靜態容器......這可能嗎?......如何使用單個變量來跟蹤我的所有測試

+0

什麼是此唯一標識符?我無法理解 – 2012-04-11 12:20:17

回答

0

您可以在方法上使用AssemblyInitialize屬性來確保它在測試程序集中的任何其他方法之前運行。在該方法中,您可以生成唯一的ID並將其設置爲靜態變量。如果您的測試方法跨越組件,這將不起作用。

1

你可以往下走有一個單獨的類負責保存靜態DateTime的路線:在您的測試

​​

,你

var testId = TestIdGenerator.TestId; 

訪問的日期時間將被設置在第一次訪問TestId屬性,並且在每次後續訪問時保持不變,直到CLR被卸載 - 當特定測試運行中的所有測試都已完成時會發生這種情況。

我剛剛測試過這個,它對燈具中的所有測試都保持不變,但在下一次測試中會有所不同。