相关疑难解决方法(0)

如何在单元测试中处理后台线程中的异常?

我正在编写一个单元测试套件来测试TCP/IP通信库.

当我使用BeginAcceptClient和EndAcceptClient时,消息在后台线程中接收.

收到消息后,我对它执行一些断言,但如果任何断言失败,则VSTestHost.exe崩溃.

我用Google搜索了一下,发现Assert异常是在后台线程中引发的.

编辑:我正在做的示例代码,只是为了说明:


public void TestFooMessage() {
    Server.OnReceive += (s, e) => {
        Assert.IsInstanceOfType(e.Message, typeof(Foo));
    };

    var message = new Foo();
    Client.Send(message);
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何让它按预期工作:记录断言并继续正常运行?

c# multithreading unit-testing visual-studio-2008

6
推荐指数
1
解决办法
2067
查看次数