是否有一种方法可以使Visual Studio(2017 Enterprise)显示启动测试所使用的所有输入参数值?
在输出窗口中,一定长度后只有三个点,就像在“测试资源管理器”中一样(我必须将其拖到2个监视器上才能看到,并且“全部复制”按钮应命名为“复制一些”。)
现在我在输出和测试资源管理器中看到了
27/05/2019 12:55:29 Error] [xUnit.net 00:00:03.9604849] SomeNamespace.SomeTestName(sut: SomeClass { }, someString: "spz5cf1f13d-6e3f-4f86-9a6a-5bc4cf9d0fca", foo: Foo { SomeBool = True, SomeId = 138, SomeString = "Duvodf6d90c61-f090-4f22-9e2e-37e2062bb848", SomeString = "ESSKa62ce76d-d56a-40d8-904a-fef1884ac86a", ExtensionData = null, ... }) [FAIL]
我想查看Foo类中的所有值,而不是“ ...”。
我在VS中尝试了“测试”选项,但是其中没有任何影响(包括日志记录级别)。
测试输入由AutoFixture生成。有时测试通过,有时失败。 另外,它是集成测试,它与Web服务联系,不会引发非常好的异常,并且基本上只是告诉我“错在哪里”。 如果我在调试器中调用测试的次数足够多,我将给出示例或输入失败,但是应该有一种更简单的方法。
答案 0 :(得分:0)
显然,您需要在测试参数中实现ToString。有问题的Foo类是DTO生成的,某些组件(xUnit?)通过有限长度的反射来生成其字符串表示形式,并在测试浏览器和输出窗口中显示。
一旦实现了正确的ToString,Test Explorer仍会显示简短的文本,但是“输出”窗口将包含ToString的整个结果。