为提供给 xUnit 理论的数据集项目分配一个友好名称,用于在理论名称后显示在结果中

Assign a friendly name to a data set item provided to an xUnit Theory, to be used for display in the results after the theory name

我已经开始使用 xUnit 进行单元测试。我有一些测试代码在工作,一个测试失败了。测试数据通过 MemberDataAttribute 提供给 Theory。 当在 Visual Studio Test Explorer 中执行测试时,我看到了测试的结果,很多通过了,一些失败了。

结果看起来像 TestCaseName(expected: 1234abcdef1234abdc....) 我看到对象的哈希码[] 用作调用 Theory 方法的参数列表(或者至少我认为是这样) .

这通常没问题,但我想知道是否有一种优雅的方式向 xUnit 提供提示以显示个别案例的一些测试数据集项目标识符?

我认为很明显,根据输入数据导航测试结果会容易得多,这就是为什么我相信框架已经提供了解决方案。

为您的参数覆盖 ToString()。

您在失败案例中实际看到的是传递给理论的 object[] 中所有对象的 ToString() 结果。如果您重写那些 类 的 ToString() 方法(或者自定义那些 类 的子 类 来专门重写 ToString,我偶尔会为已经有的 类 做一些事情ToString() 旨在提供对其他地方有用的信息)然后它们将在失败的测试用例中准确显示您想要的信息。