簡體   English   中英

Visual Studio單元測試:在每次測試之前運行初始化代碼

[英]Visual Studio Unit tests: run initialization code before each test

我正在使用Visual Studio的測試工具進行單元測試。 我需要一些初始化代碼才能在每次測試之前運行。

我有一個初始化代碼的Setup類。 我已經添加的代碼每次測試運行之前運行,使用[AssemblyInitialize]但我無法弄清楚如何做同樣一個測試的基礎上。

我嘗試使用[TestInitialize]屬性,但這僅適用於與[TestInitialize]方法相同的文件中的測試。 我希望初始化代碼能夠自動運行程序集中的所有測試,而不必在每個測試文件中顯式調用它。

[TestClass]
public class Setup
{
    [AssemblyInitialize]
    public static void InitializeTestRun(TestContext context)
    {
        //... code that runs before each test run
    }

    [TestInitialize] //this doesn't work!
    public static void InitializeTest()
    {
        //... code that runs before each test
    }
}

以下應該有效(至少它適用於其他測試框架):

  • 使用TestInitialize方法創建基類DatabaseIntegrationTests
  • 從該基類派生您的其他Testclasses

[TestInitialize]但你的語法錯誤,它沒有上下文:

[TestInitialize]
public static void InitializeTests()
{
    //... code that runs before each test
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM