首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xUnit.net和Debug.Assert

xUnit.net和Debug.Assert
EN

Stack Overflow用户
提问于 2014-03-27 05:31:38
回答 2查看 742关注 0票数 5

有人知道当被测代码触发失败的Xunit.SDK.TraceAssertException时,如何阻止xUnit.Net抛出System.Diagnostics.Debug.Assert

我经常在调试模式下使用卫士来提醒其他开发人员他们没有正确地使用API。然而,由于xUnit.Net抛出了这个异常,它破坏了我的单元测试。

EN

回答 2

Stack Overflow用户

发布于 2019-09-25 05:08:11

正如this answer所引用的,您应该能够将以下内容添加到`App.config的单元测试文件中:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.diagnostics>
        <assert assertuienabled="false"/>
    </system.diagnostics>
</configuration>
票数 3
EN

Stack Overflow用户

发布于 2015-10-11 07:15:55

我通常只对内部/私有代码使用debug assert,在这些代码中不会有来自突变状态的可能副作用。这类代码不会在我的公共API中公开,因此我不会对其进行单元测试。

我认为,如果您正在制造在测试中触发调试断言异常的状态,那么您无法避免xunit断言的问题,因此,如果目的是测试公共api,我不会使用Debug.Assert,而是使用参数验证类型的异常,如果目的是测试私有内部代码,那么有大量的文献表明这不是一个好主意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22673514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档