我们的代码库中有很大一部分没有任何单元测试。我们一直在为我们添加的任何新代码编写单元测试,但我们现在才开始回过头来为现有代码添加单元测试。写作时运行单元测试现有的计算方法,我发现了一个错误:有一个特定的输入边缘情况,计算无法正确处理。
之前从未检测到该错误,因为它在应用程序中实际上无法访问;遇到错误的特定输入是一组输入的子集,这些输入是微不足道的并且直接处理而不是被发送到稍微昂贵的计算方法。我的老板已经决定,由于无法从应用程序中查找错误,因此不值得通过计算方法来解决它。
使用XUnit,我应该如何最好地将这个错误标记为我们已经知道但却选择不修复的错误?失败的测试会破坏我们的构建自动化,所以我不能保持原样。失败的输入当前是作为PropertyData
的{{1}}的一部分生成的。
XUnit是否有针对此的特殊指标?我是否应该调整为Theory
生成输入的方法以排除该情况,添加解释原因的注释,然后放入覆盖该情况的跳过的PropertyData
?