gpt4 book ai didi

c# - 使用 NUnit 2.6 检查异常的属性

转载 作者:太空狗 更新时间:2023-10-29 20:37:28 25 4
gpt4 key购买 nike

使用 NUnit 2.6 检查异常属性是否相等的最惯用方法是什么?

我想写的代码有效:Expected 3, but was <empty>

Assert.That(() => someObject.MethodThrows(),
Throws.TypeOf<SomeException>().With.Property("Data").Count.EqualTo(3), /* Data is a collection */
"Exception expected");

我可以使用嵌套 Assert表达式,但这似乎过于复杂且不必要:

  Assert.AreEqual(3,
Assert.Throws<SomeException>(
() => someObject.MethodThrows(),
"Exception expected").Data.Count);

edit 事实上,第一个代码示例确实有效。我不知道为什么在发布这个问题之前几次都不起作用

最佳答案

我无法与 NUnit 2.6 对话,但在 NUnit 2.5 上进行以下测试:

Public Class MyException
Inherits Exception
Public Property SomeList As New List(Of String) From {"hello", "world"}
End Class

<TestFixture()>
Public Class TestClass1
Public Shared Sub DoSomething()
Throw New MyException()
End Sub

<Test()>
Public Sub TestExample()
Assert.That(Sub() DoSomething(), Throws.TypeOf(Of MyException)().With.Property("SomeList").Count.EqualTo(3))
End Sub
End Class

产生以下错误信息:

Expected: <ClassLibrary1.MyException> and property SomeList property Count equal to 3
But was: < "hello", "world" >

这可能只是 NUnit 2.6 beta 中的回归?

关于c# - 使用 NUnit 2.6 检查异常的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7287929/

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