Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Assert.Fail不通过测试?_C#_Unit Testing - Fatal编程技术网

C# Assert.Fail不通过测试?

C# Assert.Fail不通过测试?,c#,unit-testing,C#,Unit Testing,我使用VS2008进行单元测试。即使我的代码调用 Assert.Fail("some message"); 测试通过率 甚至 Assert.IsTrue(false)这也通过了测试 这怎么可能。我预计考试会失败。我想强行让它失败 请帮忙 您正在使用.NET中内置的Assert类吗?如果是这样,我怀疑跟踪没有定义。您可能在测试代码的某个地方捕获到异常。Assert类使用异常使测试失败,因此如果您正在捕获它,测试将通过 请粘贴代码以获得更准确的答案。有时,当我单击“运行测试”时,我在版本配置中看到

我使用VS2008进行单元测试。即使我的代码调用

Assert.Fail("some message");
测试通过率

甚至

Assert.IsTrue(false)这也通过了测试

这怎么可能。我预计考试会失败。我想强行让它失败


请帮忙

您正在使用.NET中内置的Assert类吗?如果是这样,我怀疑
跟踪
没有定义。

您可能在测试代码的某个地方捕获到异常。Assert类使用异常使测试失败,因此如果您正在捕获它,测试将通过


请粘贴代码以获得更准确的答案。

有时,当我单击“运行测试”时,我在版本配置中看到测试引擎生成,但随后继续对旧的调试配置生成运行测试。我认为这是VS2008测试引擎中的一个bug。无论如何,请尝试清理调试和发布文件夹,然后再次运行它。

如果不知道您正在做什么,我不能确定,但听起来您希望.NET类像NUnit类一样工作--不能确定--但如果是这样,那就永远不会工作

.NET类只有在定义了跟踪时才起作用(查看项目属性,单击“生成”选项卡,然后单击“定义跟踪常量”)——但对于单元测试来说,这是没有帮助的——这些类不会抛出异常或以其他方式使单元测试失败。。。它们会弹出消息框,供那些订阅“以后调试”咒语的人使用


如果您希望Assert.Fail使单元测试失败,那么您需要一个单元测试框架,该框架提供一个实现此功能的类(同样,与NUnit类似)。请告诉我们您正在使用(或未使用?)的测试框架,如果您在这方面仍有问题,我们将为您提供更多帮助。

确保您正在进行调试构建?也许您正在测试的代码非常好,不会失败!我希望我知道如何编写这样的代码,我一直在破坏单元测试..Chuck Norris在行动:)实际上我在单元测试工作流自定义活动。对于负面测试用例,我希望引发WorkflowTerminated事件。在这种情况下,我使用Assert.Fail()使测试失败。请确保您没有使用捕获AssertException等的try/catch方法。这也是我的猜测-AssertFailedException FWIW