Đây có lẽ không phải là giải pháp lý tưởng, nhưng nó thực hiện những gì bạn yêu cầu, nghĩa là bỏ qua các thử nghiệm còn lại nếu thử nghiệm không thành công.
[TestFixture]
public class MyTests
{
[Test]
public void Test1()
{
Ascertain(() => Assert.AreEqual(0, 1));
}
[Test]
public void Test2()
{
Ascertain(() => Assert.AreEqual(1, 1));
}
private static void Ascertain(Action condition)
{
try
{
condition.Invoke();
}
catch (AssertionException ex)
{
Thread.CurrentThread.Abort();
}
}
}
Kể từ TestFixtureAttribute là thừa kế, vì vậy bạn có khả năng có thể tạo ra một lớp cơ sở với thuộc tính này được trang trí vào nó và có xác định bảo vệ Phương pháp trong đó và lấy được tất cả các lớp TestFixture từ nó.
Nhược điểm duy nhất là, bạn sẽ phải cấu trúc lại tất cả các xác nhận hiện có của mình.
Tôi tin rằng đây là nhiệm vụ cụ thể của các cuộc thử nghiệm đặc biệt để bạn chạy thử nghiệm như thế nào? NUnit-giao diện điều khiển, msbuild NUnit nhiệm vụ, một Á hậu khác? – sll