try catch 块中的 xunit 核心无法正常工作

xunit core in try catch block is not working right

[重复]Assert in Try..Catch block is caught

当我在 VS2017 的 NetCore1.1 中使用 Xunit Core 时,如下所示:

     try
        {
            Assert.True(1<0," server is false");//vs2017 show green(test through)

        }
        catch (Exception e)
        {
            while (e != null)
            {
                _outputHelper.WriteLine(e.Message);
                e = e.InnerException;
            }
        }

        Assert.True(1 < 0, "current value is false");// vs2017 show red(test failed

结果是第一个图标是绿色的,不是红色的 Assert.True 不对(失败)。像下面这样:

如果添加第二个Assert.True它是红色的;

)

很奇怪,是吗?我认为这是一个错误。

这不是错误。

所有单元测试框架,包括 xUnit.net,都对失败的断言使用异常。你盲目地捕捉并吞下了所有的异常;这将包括失败断言的例外情况。

您也不清楚您要使用此代码完成什么。也许这是出于说明目的的简化...?