gpt4 book ai didi

unit-testing - 无法让 NUnit 的 Assert.Throws 正常工作

转载 作者:行者123 更新时间:2023-12-05 00:07:04 25 4
gpt4 key购买 nike

我可以发誓我已经使用 NUnit 的 Assert.Throws 来确定一个特定的异常是否从一个方法中抛出,但是 my memory has failed me before .我读了 this post here on SO ,但它没有回答我的问题,因为我知道正确的语法,而且我不想对返回的异常做任何事情(我不想查看异常的成员,尽管这可能很有用在路上)。

我编写了单元测试来证明我对字典的使用缺乏理解,并且无法处理抛出的 KeyNotFoundException。我在运行时收到一个未处理的 KeyNotFoundException 错误,而不是 NUnit 捕获它并通过测试。我确认我没有设置 VS IDE 来中断抛出的 .NET 异常。

我试过这两种方式:

Assert.Throws( typeof(KeyNotFoundException), () => value = prefs["doesn't exist"]);


Assert.Throws<KeyNotFoundException>( () => value = prefs["doesn't exist"]);

但两者都会导致未处理的异常。我在这里缺少什么?

更新 似乎其他人无法重现这一点。这是一个屏幕截图:

alt text

最佳答案

这是一个旧线程,但请尝试在工具->选项下的 Visual Studio 中关闭“仅启用我的代码”。启用此功能后,调试器会尝试提供帮助,并在异常被吞下之前停在代码中的最后一个可能点。

或者,至少这是我对它的理解。

如果关闭 Enable Just My Code,Assert.Throws 应该可以正常工作。

关于unit-testing - 无法让 NUnit 的 Assert.Throws 正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2390314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com