当然如果你那里有200个测试都是因为旧的结构导致的失败,你就应该找到这个问题来维护你的测试。这就是为什么你应该总是移除你测试中的副本尤其是在生产代码中。
测试覆盖和测试Angles? 你如何知道是否你的新代码是一个好的覆盖?当试图移动一个链接或者一个约束检查后,如果所有的测试依然通过,那么你就没有足够的代码复制然后你可能需要添加其他的测试单元。
确认你添加正确测试的最好方法就是测试一些最平常的行和检查直到用非常的手段使它出错。这个也许很难,但是如果你不能考虑出一个让代码出错的方法,你就可能没有好的理由在最初的地方写下这行代码。
你不知道什么时候下一个开发者会试图运行你的程序,他可能优化或者错误的删除一些包含本质的行。如果你没有一个测试,它就会失败,其他的开发者可能不会知道他们犯了错误。
你也可能试图利用一些常量去替代一些已经通过了的测试中调用的各种各样的参数,例如,看下面的方法:
Public Function Sum(ByVal x As Integer, ByVal y As Integer, _
?ByVal allowNegatives As Boolean) As Integer
If Not allowNegatives Then Throw New Exception()
Return x + y
End Function
你可以打乱代码去测试覆盖,这有一些关于如何测试的变化:
' Try this...
If Not True Then ' replace flag with const
?If x < 0 OrElse y < 0 Then Throw New Exception()
End If
' Or this...
If Not allowNegatives Then
?' replace check with const
If False OrElse y < 0 Then Throw New Exception()
End If
如果所有的测试依然通过,那么你缺少了一个测试,另外一个红色标志是在你为多种相同值测试的检查。如下:ssert.AreEqual(3, retval)
文章来源于领测软件测试网 https://www.ltesting.net/