如何在Visual Studio单元测试工具中捕获超时事件?

时间:2016-03-10 21:37:04

标签: visual-studio unit-testing

我正在尝试在Visual Studio中测试套接字是否在某些条件下阻塞,这是所希望的。基本方法是将单元测试设置为超时,执行阻塞操作,并在超时到期时通过测试。

我可以做所有这些,有点:

  [TestMethod, Timeout(3000)]
    public void RockingSockingBlockingTest()
    {
        bool bPass = false;
        try
        {
            Socket sock = OpenSocket();
            int result = blocking_socket_call(sock, ....mumble, ...);
            ... work more here, maybe raising assertions or throwing exceptions .... 

        }
        catch(Exception ex)
        {
            bPass = true;
        }

        Assert.IsTrue(bPass);
    }

嗯和好 - 当测试超时时,我实际上得到了一个例外,但我似乎从来没有预先知道会发生什么类型的异常。它似乎取决于超时发生时运行的代码。这意味着如果我想在块中捕获其他异常,我运气不好。

这个问题是否有学校解决方案?

0 个答案:

没有答案