回调中的xUnit异步测试
本文关键字:异步 测试 xUnit 回调 | 更新日期: 2023-09-27 18:09:37
这是我目前的测试。它成功了,显然不能成功。我如何使这个测试失败?
[Fact]
public async Task ExecuteCallback()
{
Timer timer = new Timer();
timer.Elapsed += (sender, e) =>
{
new MyClassUnderTest((param) =>
{
Assert.Null(param);
Assert.NotNull(param);
timer.Stop();
});
};
timer.Interval = 500;
timer.Start();
System.Threading.Thread.Sleep(1000);
}
我想测试我的类的内部逻辑(它是如何执行提供的Action及其参数的),特别是它在eventandler中运行时的行为,因为它在线程中做了一些棘手的事情。
正如您所提到的,Timer
事件处理程序运行在与NUnit测试不同的线程上。thrown Exception
NOT被NUnit捕获,所以测试成功