簡體   English   中英

如何使用MTM將參數值從TFS中的測試用例傳遞到單元測試方法中的測試方法?

[英]How to pass parameter values from test case in TFS to test method in unit test method using MTM?

我想從Team Foundation Server中存在的測試用例中傳遞參數值。 我在Microsoft測試管理器的幫助下進行自動化。

以下是使用單元測試項目創建的示例測試方法。

namespace UnitTestProject1
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]

        public void TestMethod1(int a, int b, int expectedResult)
        {

            var sut = new Class1();

            var result = sut.Add(a,b);

            Assert.AreEqual(expectedResult, result);

        }
    }
}

現在,當我嘗試構建它時,出現以下錯誤:

UTA007:類UnitTestProject1.UnitTest1中定義的方法TestMethod1沒有正確的簽名。 標記有[TestMethod]屬性的測試方法必須是非靜態的,公共的,不返回值並且不能使用任何參數。 例如:public void Test.Class1.Test()。 此外,如果您正在運行異步單元測試,則return-type必須為Task。 示例:公共異步任務Test.Class1.Test2()。

在這種情況下如何實現參數傳遞?

要從TFS中的TestCase讀取參數值,可以使用數據驅動的單元測試:

public TestContext TestContext { get; set; }
public DataRow DataRow { get; set; }

[DataSource("Microsoft.VisualStudio.TestTools.DataSource.TestCase", "http://serverName:8080/tfs/MyCollection;teamProjectName", "541", DataAccessMethod.Sequential)]

[TestMethod]
public void TestMethod()
{
            string parameter1 = TestContext.DataRow[0].ToString(); // read parameter by column index
            string parameter2 = TestContext.DataRow[1].ToString(); 

            var sut = new Class1();

            var result = sut.Add(a, b);

            Assert.AreEqual(parameter1, result);
}

注意:541是TestCase ID。

暫無
暫無

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

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