我认为应该添加失败的测试,但不能明确地将其添加为“失败的测试”。
正如@BenVoigt在他的答案中指出的那样,失败的测试并不一定会“破坏构建”。我猜每个团队的术语可能会有所不同,但是代码仍然可以编译,并且产品仍可以通过失败的测试交付。
在这种情况下,您应该问自己,
测试意味着要完成什么?
如果存在测试只是为了让每个人都对代码感到满意,那么添加一个失败的测试只是让每个人都对代码感到不满意,似乎效率不高。但是,首先测试的效率如何?
我的断言是,测试应该反映业务需求。因此,如果发现“错误”表示未正确满足要求,则也表明测试未正确或完全反映业务要求。
那是要首先修复的错误。您不是在“添加失败的测试”。您正在更正测试以更准确地反映业务需求。如果代码随后未能通过这些测试,那是一件好事。这意味着测试正在发挥作用。
修改代码的优先级由企业确定。但是在确定测试之前,可以确定该优先级吗?为了使他们能够优先做出决定,企业应该了解确切的故障,故障的原因以及故障的原因。测试应表明这一点。
进行不完全通过的测试并不是一件坏事。它会产生大量已知问题,需要对其进行优先级排序和相应处理。但是,拥有无法完全测试的测试是一个问题。它质疑测试本身的价值。
换句话说,构建已被破坏。您要做的只是确定是否要引起注意。