我有基本运行 2 个线程的单元测试示例代码:主测试线程和我正在启动的另一个线程应该在一段时间后使测试执行失败(这基本上是一个超时线程)
代码如下:
[TestClass]
public class SomeTestClass
{
[TestInitialize]
public void BeforeTest()
{
var task = new Task(abortIfTestStilRunsAfterTimeout);
task.Start();
}
[TestMethod]
public void TestMethod()
{
Thread.Sleep(5000);
}
private void abortIfTestStilRunsAfterTimeout()
{
Assert.Fail("timeout passed!");
}
}
好吧,我原以为TestMethod()
测试会失败,但实际发生的是运行该Assert.Fail
方法的任务线程出现异常,而另一个线程继续运行并且测试通过。
我正在寻找一种使测试方法失败的方法