在编写单元测试时,我总是extends Assert
,所以我可以无条件地访问对许多Assert.assertXXX
方法的许多调用:
例如:
public class MyTestClass extends Assert {
@Test
public void SomeTest() {
assertNotNull(""); // instead of Assert.assertNotNull("");
}
}
扩展Assert
节省了我的打字时间Assert.assertNotNull("");
。在Assert.
我看来,代码混乱,因为你经常使用它。
我的测试类很少需要扩展另一个类,如果需要,我倾向于让超类扩展 Assert。
然而,感觉就像我打破了一些编码风格来扩展只是为了避免导入和限定。
是这种“糟糕”的编码风格吗?
如果我这样做,它仍然是“最佳实践”代码吗,因为它只是一个测试类?
编辑:
import static org.junit.Assert.*;
不起作用,因为我的 Eclipse 代码格式化程序解析了所有导入,因此对于每次保存时实际使用的所有方法,这样的行会被替换并替换为单独的导入,如果我使用新的断言方法,则需要重新导入。
诚然,在编写测试类代码一段时间后,导入新方法的需求减少了,但是在编写新测试类代码时却很麻烦。