问题标签 [expected-exception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4043 浏览

java - ExpectedException 原因是什么原因?

我正在尝试验证我的所有异常是否正确。因为值包含在 中CompletableFutures,所以抛出ExecutionException的异常是我通常会检查的异常。快速示例:

所以foo()翻译抛出的异常bar(),所有的都是在里面完成的CompletableFuturesAsyncHandlers我不会复制整个代码,仅供参考)

在我的单元测试中,我正在bar()抛出一个异常,并希望在调用时检查它是否正确翻译foo()

到目前为止一切顺利,但我也想验证异常的原因A是异常Bhaving(on(A.class).getCause(), CoreMatchers.is(b))原因CodeGenerationException --> StackOverflowError

TL;DR:我如何获得预期异常的原因?

0 投票
1 回答
699 浏览

unit-testing - 单元测试需要 System.ServiceModel.FaultException

这是我的单元测试:

我正在向我的客户端存储库提供无效输入,该存储库又调用第三方客户端服务,并且我希望客户端服务会引发错误。而且,客户端服务也会抛出异常,但不是我期望的那样。我希望它是“System.ServiceModel.FaultException”,但它给了我这个:

不知道我在“ExpectedException”中放了什么,所以这个单元测试通过了正确的预期异常。

0 投票
1 回答
1244 浏览

c# - Rhino Mock Test 预期 #1,实际 #0 - 错误

我是使用 Rhino Mock 的新手,我遇到了这个错误,我不明白为什么。这里测试

我的GetStudiesByInstallationReference.cs

我想测试GetStudiesByInstallationReference被称为一次。

我在做什么错?...它应该通过测试,因为该Expect子句与 the 中使用的相同,Stub但我仍然遇到异常

预期 #1,实际 #0。

有人可以帮我解决这个问题吗?

提前致谢

0 投票
1 回答
318 浏览

c# - XUnit 和 MSTest 与 ExpectedException 返回不同的结果

我有一个使用收益返回的项目,但不明白为什么在 MSTest 通过时 XUnit 未能在我的单元测试中捕获异常。

这是我的虚拟代码。

奇怪的是,如果我采用我的私有方法 EnumerableYieldReturn 并将该逻辑直接放在我的公共方法 YieldReturnList 中,结果会随着 XUnit 测试通过而 MSTest 失败而翻转。

我可以通过从 sut.YieldReturnList 分配返回对象并尝试迭代它来让它们都通过,但这并不能解释为什么一个框架通过而另一个框架失败......

0 投票
2 回答
282 浏览

c# - 替换匹配类型?

新的 NUnit 版本 3.x 不再支持ExpectedExceptionAttribute。有一个Assert.Throws<MyException>()代替。可能是一个更好的逻辑概念。但我没有找到任何旧货的替代品MatchType——有吗?MyException可以用许多参数抛出,在 NUnit 2.x 中,我可以比较包含某个文本片段的异常消息,以了解使用了哪个参数(当然,我不会有几十个异常类合乎逻辑的)。NUnit 3.x 如何处理这个问题?我找不到提示。

使用 NUnit 2.x,我将执行以下操作:

如何使用 NUnt 3.x 做类似的事情?

请考虑我的意思:NUnit 提供的方法不足以识别引发异常的参数,所以这是一个不同的问题。

0 投票
1 回答
409 浏览

java - 控制台显示异常消息,但异常类型仍然错误——为什么?

我正在尝试创建一个名为 bag 的抽象数据类型,它本质上使用方法 add(int x) 接收整数,并使用方法 remove() 删除任意整数。

然后,我尝试为 remove() 方法创建一个自定义异常,因为当包中已经没有任何物品时,有可能完成删除。因此,我创建了一个异常类:

并继续使用此自定义异常,如下所示:

然后,我尝试通过这样做来测试异常:

不幸的是,这个测试失败了,我得到了消息:

java.lang.AssertionError: Expected test to throw(sg.com.practice.adt.EmptyBagException 的一个实例和异常消息字符串包含“包中没有物品!”)

我不确定为什么会这样……特别是因为我的预期错误消息确实正确打印到了控制台。在此先感谢您的帮助!

0 投票
0 回答
692 浏览

java - 重置 ExpectedException 未按预期工作

我有一个问题ExpectedException。我在一个测试类的许多测试中使用它。现在我遇到了一个问题,我们的 Jenkins 有一个失败的测试,因为这个测试有expectedMessage一个之前的测试。我不知道为什么,但为了防止这种失败,我试图“清除”ExpectedMessage但它的行为不像预期的那样:

测试类

投掷者

testExpectedException导致以下输出:

但我希望expectedException检查包含random. 为什么不呢?

我正在使用 JUnit 4.11。

0 投票
1 回答
420 浏览

.net-core - 旧代码的 xUnit 中的 ExpectedException

正如其他帖子中广泛指出的那样,xUnit 中不存在 ExpectedException。但是,是否有一些东西可以帮助将遗留测试移植到 xUnit,本质上是一个 polyfill?

我相信随着 .Net Core 的加速采用,正如我们可能会在 .Net Standard 2 中看到的那样,我们将看到越来越多的测试从其他框架移植到 .Net Core 工具中最容易开箱即用的测试。虽然 ExpectedException 可能不是未来的最佳实践,但拥有一个遗留的权宜之计(即使是一个单独的 NuGet 包)将极大地简化移植测试,因为这是为数不多的基于每个测试的转换之一,无法由简单的搜索替换。当您移植数百个单元测试时,“这可能会导致问题”似乎并不是一个令人满意的答案。

0 投票
1 回答
99 浏览

c++ - 我应该在哪里修复关于模板的 C++ 代码?

当我写了一段 C++ 代码并通过 clang++ 编译器编译时,

被代表。

为什么会出现此错误,我该如何解决?

0 投票
2 回答
269 浏览

c# - 我怎么能允许在单元测试中使用 [ExpectedException(typeof(ArgumentException))] 断言?

我发现,那个简单的单元测试

给出错误

消息:测试方法没有抛出预期的异常 System.ArgumentException。

我成功地使用 [ExpetedException] 来测试错误消息输出,但是,在单元测试中使用 Assert 对侧变量进行的任何检查都会导致它出现故障。

我可以以某种方式装饰我的测试以避免它吗?还是“政治错误”?