有时候在一个单元测试方法中有多个断言是很有意义的,例如
@Test
public void testMapReduceProcessing() {
Tuple tuple = new MetadataTuple();
Processor instance = new Processor();
instance.process(tuple);
assertEquals(State.PROCESSED, tuple.getState());
assertEquals(1, tuple.getProcessCount());
}
我将来可能会介绍的 PMD和可能还有其他静态分析工具,现在要在编程时考虑使用,它们会发出JUnitTestContainsTooManyAsserts
警告,因为存在多个assert[...]
。我可以:
assertTrue(a.equals(b) && c.equals(d))
将使断言失败消息复杂化,并且由于equals
应该使用assertEquals
而导致样式错误。我对所有人都不满意。有什么优雅的方法吗?我正在寻找JUnit 5方法,并且不介意额外的依赖关系。