[英]Visual studio 2015 Intellitest not working on 64bit projects
[英]Parameterized Unit Tests with Visual Studio 2015 Intellitest
長期以來,我一直希望在 MSTest 中看到的一項功能是參數化單元測試 (PUT)。 我很高興聽到 Intellitetest 能夠創建上述測試。 然而,我已經開始使用 Intellitetest,而且我認為我對 PUT 的定義與 Microsoft 的不同。
當我想到“PUT”時,我會想到NUnit 中的 TestCases或xUnit 中的 Theories 。 比我聰明得多的人似乎使用相同的術語。
有人能告訴我 Intellitetest 是否真的能夠以與 NUnit 或 xUnit 相同的方式創建 PUT,或者這是一個重載術語的問題,在 Intellitetest 中意味着一件事,而對大多數其他測試框架則意味着另一件事? 謝謝。
截至 2016 年 6 月,此功能已添加到“ MSTest V2 ”中,可以通過添加MSTest.TestAdapter
和MSTest.TestFramework
包通過 NuGet 安裝:
Install-Package MSTest.TestAdapter
Install-Package MSTest.TestFramework
請注意,這些與 Visual Studio 2017 等附帶的測試框架版本不同。要使用它們,您可能需要刪除對
Microsoft.VisualStudio.QualityTools.UnitTestFramework
的引用。
安裝這些后,您可以簡單地使用RowDataAttribute
,如以下示例所示:
[TestMethod]
[DataRow(1, 1, 2)]
[DataRow(3, 3, 6)]
[DataRow(9, -4, 5)]
public void AdditionTest(int first, int second, int expected) {
var sum = first+second;
Assert.AreEqual<int>(expected, sum);
}
顯然,這里不限於
int
。 您還可以使用string
、float
、bool
或任何其他原始值類型。
如果您熟悉,這與之前可用於Windows 應用商店應用項目的實現相同。
Intellites 生成的參數化單元測試與其他測試框架中常見的 PUT 不同。
在 MSTest/Intellitetest 世界中,PUT 用於智能生成其他單元測試。
為了在 MSTest 中使用不同的數據集多次執行測試,我們仍然需要處理數據驅動的單元測試或使用MSTestHacks,如How to RowTest with MSTest 中建議的那樣? .
參數化單元測試 (PUT) 是通過使用參數對單元測試的直接概括。 PUT 對一整套可能的輸入值而不是單個示例性輸入值做出關於代碼行為的聲明。 在這方面,它類似於您提供的鏈接。 不同之處在於生成數據以輸入參數化單元測試時 - IntelliTest 可以自動生成 PUT 的輸入數據。 我要求您參考以下內容: http : //blogs.msdn.com/b/visualstudioalm/archive/2015/07/05/intellitest-one-test-to-rule-them-all.aspx了解上下文。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.