簡體   English   中英

無法在MTM中運行具有DataRow屬性的測試用例

[英]Can not run test cases with DataRow attribute in MTM

我正在嘗試運行一個測試用例,如下面的Microsoft測試管理器中所述。 我在一個測試套件下的MTM中創建了一個測試用例,並將以下創建的測試用例附加到自動化腳本中。

public class Calculator
{
    public int Add(int a, int b)
    {
        return a + b;
    }
}

[TestMethod]
[DataRow(3, 4, 7)]
[DataRow(5, 6, 11)]
public void When_add_two_numbers(int firstNumber, int secondNumber, int expectedResult)
{
    //Arrange
    Calculator calc=new Calculator();

    //Act
    var actualResult = calc.Add(firstNumber, secondNumber);

    //Assert
    Assert.AreEqual(expectedResult,actualResult);
}

因為MSTest現在支持DataTestMethodDataRow屬性,所以我希望這種數據驅動的測試也能夠在MTM上運行。 MTM不支持嗎? 如果沒有,那么解決方法是什么?

當我嘗試在MTM中運行此測試用例時,出現錯誤提示。

“方法”沒有正確的簽名。 標記有[TestMethod]屬性的測試方法必須是非靜態的,公共的,不返回值並且不能使用任何參數。 例如:public void Test.Class1.Test()。

您需要將[TestMethod]替換為[DataTestMethod]

[DataTestMethod] //<-- THIS IS REQUIRED
[DataRow(3, 4, 7)]
[DataRow(5, 6, 11)]
public void When_add_two_numbers(int firstNumber, int secondNumber, int expectedResult) {
    //...
}

以便測試方法可以具有參數,並使用它們對測試進行參數化。

暫無
暫無

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

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