xUnit 在测试资源管理器中显示截断的预期和实际
xUnit showing truncated Expected and Actual in Test Explorer
我将 xUnit 与 Visual Studio Test Explorer 一起使用,当 Assert.Equal()
中出现错误时,我得到的是实际版本和预期版本的截断版本。
例如,
Xunit.Sdk.EqualException
Assert.Equal() Failure
Expected: List<Result>
[Result {
Status = StatusEnumValue1,
Message = "The request or response type contains a special ty"...,
Path = "1234" }]
Actual: WhereListIterator<Result>
[Result {
Status = StatusEnumValue1,
Message = "The request or response type contains a special ty"...,
Path = "1234" }]
此测试失败,因为 Message
s 不同,但鉴于 Message
s 被截断,我看不到它们与测试资源管理器实际不同的部分。即使我复制出来,它仍然被截断。
这是 xUnit 的已知缺点吗?我可以继续调试测试或使用 WriteLine
来比较 Message
,但我很惊讶 xUnit 框架没有办法显示完整的响应。我也试过Resharper test explorer,也没有解决问题。
这似乎是 Visual Studio 的限制。 Visual Studio 2017.3.
似乎解决了这个问题
事实证明这是一个 xUnit 问题。
ovation22 在控制字符数硬性限制的代码的确切位置下方指向 own。
我使用 FluentAssertions 库绕过了这个问题。来自与 FluentAssertions 一起使用的 xUnit 的错误不会截断任何错误消息。
仅使用 xUnit 和 Visual Studio 查看完整信息的方法非常麻烦。我不熟悉 FluentAssertions,但它听起来确实是一种更简单的方法。
以下是仅使用 Visual Studio 和 xUnit 查找未截断信息的步骤:
- 右键单击失败的测试(Ctrl+r、Ctrl+t 也可以)
- Visual Studio
中将显示带有异常的小弹出窗口
- 点击“查看详情”
- 这将弹出另一个名为 QuickWatch 的屏幕,其中包含完整未截断形式的所有相关信息。
我将 xUnit 与 Visual Studio Test Explorer 一起使用,当 Assert.Equal()
中出现错误时,我得到的是实际版本和预期版本的截断版本。
例如,
Xunit.Sdk.EqualException
Assert.Equal() Failure
Expected: List<Result>
[Result {
Status = StatusEnumValue1,
Message = "The request or response type contains a special ty"...,
Path = "1234" }]
Actual: WhereListIterator<Result>
[Result {
Status = StatusEnumValue1,
Message = "The request or response type contains a special ty"...,
Path = "1234" }]
此测试失败,因为 Message
s 不同,但鉴于 Message
s 被截断,我看不到它们与测试资源管理器实际不同的部分。即使我复制出来,它仍然被截断。
这是 xUnit 的已知缺点吗?我可以继续调试测试或使用 WriteLine
来比较 Message
,但我很惊讶 xUnit 框架没有办法显示完整的响应。我也试过Resharper test explorer,也没有解决问题。
这似乎是 Visual Studio 的限制。 Visual Studio 2017.3.
似乎解决了这个问题事实证明这是一个 xUnit 问题。
ovation22 在控制字符数硬性限制的代码的确切位置下方指向 own。
我使用 FluentAssertions 库绕过了这个问题。来自与 FluentAssertions 一起使用的 xUnit 的错误不会截断任何错误消息。
仅使用 xUnit 和 Visual Studio 查看完整信息的方法非常麻烦。我不熟悉 FluentAssertions,但它听起来确实是一种更简单的方法。
以下是仅使用 Visual Studio 和 xUnit 查找未截断信息的步骤:
- 右键单击失败的测试(Ctrl+r、Ctrl+t 也可以)
- Visual Studio 中将显示带有异常的小弹出窗口
- 点击“查看详情”
- 这将弹出另一个名为 QuickWatch 的屏幕,其中包含完整未截断形式的所有相关信息。