我有一個20 + .cs文件的單元測試項目。我想在每個單獨的測試之前運行一些設置代碼。有點像[TestInitialize]屬性的工作原理。但是,我需要將這個屬性放在所有20多個.cs文件中。有沒有在Visual Studio單元測試(MSTest)中的每個測試之前執行初始化代碼的方法,用於項目中的所有測試?
有沒有一種方法可以將整個項目中的每個測試集中在一個地方的初始化代碼?
謝謝!
-Mike
我有一個20 + .cs文件的單元測試項目。我想在每個單獨的測試之前運行一些設置代碼。有點像[TestInitialize]屬性的工作原理。但是,我需要將這個屬性放在所有20多個.cs文件中。有沒有在Visual Studio單元測試(MSTest)中的每個測試之前執行初始化代碼的方法,用於項目中的所有測試?
有沒有一種方法可以將整個項目中的每個測試集中在一個地方的初始化代碼?
謝謝!
-Mike
麥克唯一引導鉤[ClassInitialize]和[TestInitialize〕及其拆卸對應。在像這樣的情況下,我只是將公共邏輯外化到自己的類中,基本上遵循正常的DRY和SoC實踐。通常我在我的測試程序集中定義了幾個服務和提供程序,而xInitialize方法只有1或2行代碼來調用appropenate提供程序。這就是說mpistrich的答案也是完全可以接受的,我認爲分層的繼承。
我不知道這是否仍然是一個問題。但是我發現另外一個解決方案可以實現這一點: 當打開.testsettings文件時,轉到「安裝和清理腳本」選項卡,您可以指定要在測試運行之前和之後運行的腳本。