我試圖通過為屬性添加Ignore關鍵字來忽略測驗用例:DataRow
[TestClass]
public class MathTests
{
[TestMethod]
[DataRow(1, 1, 2)]
[DataRow(2, 2, 3), Ignore]
public void Sum_Test(int a, int b, int expectedSum)
{
var sut = new Math();
var sum = sut.Sum(a, b);
Assert.IsTrue(sum == expectedSum);
}
}
public class Math
{
public int Sum(int a, int b)
{
return a b;
}
}
但它忽略了整個測驗:

- 目標:.NET 6
- MSTest.TestFramework:v2.2.8
- IDE:騎士
在 MSTest 中如何忽略特定的測驗用例?
uj5u.com熱心網友回復:
首先,沒有Ignore關鍵字。你在做什么只是在同一行中組合 2 個屬性。因此,您的代碼相當于:
[TestClass]
public class MathTests
{
[TestMethod]
[DataRow(1, 1, 2)]
[DataRow(2, 2, 3)]
[Ignore]
public void Sum_Test(int a, int b, int expectedSum)
{
var sut = new Math();
var sum = sut.Sum(a, b);
Assert.IsTrue(sum == expectedSum);
}
}
21.3 屬性說明
屬性在屬性部分中指定。一個屬性部分由一對方括號組成,它們圍繞一個以逗號分隔的一個或多個屬性串列。在這樣的串列中指定屬性的順序以及附加到同一程式物體的部分的排列順序并不重要。例如,屬性規范 [A][B]、[B][A]、[A, B] 和 [B, A] 是等價的。
你可以做什么:
最簡單的解決方案就是將特定的資料行注釋掉。(或者您可以使用預編譯變數。在這種情況下,啟用所有忽略的測驗用例會更容易)
PRO:這很容易。
CONTRA:您將無法在 GUI 中看到這些測驗用例
您可以創建 2 個測驗并使用
TestCathegory屬性標記其中一個測驗。PRO:可以在 GUI 中看到這個測驗。
PRO:您將能夠使用或排除特定
TestCathegory的 .CONTRA:你必須重復你的測驗。
反對:您必須使用命令列引數來包含或排除
TestCathegory構建服務器上的特定內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/428170.html
