JUnit4:断言对象没有设置属性



我正在测试一个应该返回类型为Card的对象的方法。比如:

@Test
public void testPrepareCardData() {   
Card card = service.prepareData(ID);

之后,我想断言card的所有属性都没有设置。假设该方法返回空对象。一种方法(相当幼稚)是检查每个属性,如:

assertNull(card.getId());
assertNull(card.getCardNumber());
etc.

但是有很多属性这需要一些时间。有什么复杂的解决办法吗?

您可以使用Reflection来执行

Method[] methods = card.getClass().getDeclaredMethods();
for (Method method : methods) {
if (method.getName().contains("get")) {
method.setAccessible(true);
// Act & Assert
assertNull(method.invoke(card));
}
}

更多信息:Reflection Oracle doc

相关内容

  • 没有找到相关文章

最新更新