我个人决定暂停失败的单元测试。
在我与我公司合作的解决方案中,有一些失败的单元测试随着时间的推移而徘徊。有时,在进行更改时,另一个单元测试将开始失败,但不清楚它是哪一个。为了解决这个问题,有时需要至少将失败的单元测试的名称复制到文本文件中并进行比较。
在VS2017中,在测试资源管理器中,您可以右键单击单元测试并选择“复制”,它会将名称和其他一些元信息复制到剪贴板。但是,如果选择多个单元测试,该选项将消失。此外,似乎没有任何“全部复制”选项。
因此,如果您需要复制所有失败的单元测试的名称(其他相关的元信息都可以),有没有办法在Visual Studio 2017中执行此操作,而不是手动复制测试一次?
答案 0 :(得分:1)
这不是您问题的直接答案,而是一种解决方法(尽管我将其称为与您似乎正在做的事情相比的最佳做法):
您似乎有许多单元测试会产生错误,无论出于何种原因您决定不及时修复它们。修复它们将是明显的解决方案,但我们假设有原因不这样做。
现在,在该决定之后开发功能的每个人都遇到了麻烦,因为单元测试结果变得不可靠。它们可能会失败,您永远不会知道它是否是您的错误,或者由于前(坏)决定,该测试可能假定失败。失败的测试已经从红色/绿色质量信号转变为断开的红绿灯,没有任何信号。
您应该将那些故意故障的测试标记为,以便您知道它们是哪些。如果您使用的是MSTest(Visual Studio默认设置),则可以使用[Ignore]
属性对其进行注释。这样,它们就不会被运行,也不会被视为失败,但仍然会出现在列表中并提醒您它们仍然需要修复的事实。
这样,您的测试再次可靠。任何红色都是你破坏的东西。任何红色都是你需要解决的问题。黄色是无论如何被打破的测试和绿色..好是绿色。
无需将测试名列表相互比较。使用可用的手段。