所以我看到Assert有几十个方法,它们似乎做了本质上相同的事情。
Assert.IsFalse( a == b );
Assert.IsTrue( a != b );
Assert.AreNotEqual( a, b );为什么?这仅仅是为了更明确吗?应该在什么时候使用各种方法?是否有官方的最佳实践文档?
发布于 2010-02-23 03:43:51
这三种方法有三个不同的具体目标。测试的目标是为您的代码提供清晰的验证和验证。通过使用尽可能清晰和具体的方法,您可以使您的测试尽可能小,具有最具体、最清晰的含义。
这很有帮助,因为它增加了清晰度-你可以明确地看到,在更具声明性的性质中,测试应该做什么,在这种情况下,对多个测试场景使用相同的方法,每个场景都有不同的含义,需要更多地理解代码本身,而不是测试的性质。
在这种情况下,第三个是(唯一)合适的。但是,如果您有这种情况,您将使用不同的情况,例如:
Assert.IsTrue( myClass.MethodThatReturnsTrue() );你应该使用对你的目标提供最清晰的方法-如果你检查两个值是否相等,使用Assert.IsEqual,如果你检查一个布尔值来验证它是否为false,使用Assert.IsFalse。这使得错误报告变得有意义且易于理解。
https://stackoverflow.com/questions/2313599
复制相似问题