我是jUnit
测试的新手,我正在尝试为我的integration test
应用程序编写一些Spring Boot
。我的计划是测试是否设置了对象的所有必需属性。我想出了类似的东西:
@Test(expected = org.springframework.orm.jpa.JpaSystemException.class)
public void testMessageMandatoryAttributes() {
Message corruptedMessage = new Message();
// set id
// corruptedMessage.setId(id);
// set conversation thread
// corruptedMessage.setConversationThread(conversationThread);
messageRepository.save(corruptedMessage);
}
但是,我的Message实体具有更多强制性属性...如何仅用一个功能测试所有属性是否已正确设置?
最佳答案
基本上,您需要测试messageRepository.save(Message)
方法是否抛出异常,其中包含有关缺少字段的某些信息。
在下面找到可以帮助您实现目标的代码段。用需要验证的内容替换catch块中的断言。
@Test
public void testMessageMandatoryAttributes() {
Message corruptedMessage = new Message();
// set id
// corruptedMessage.setId(id);
// set conversation thread
// corruptedMessage.setConversationThread(conversationThread);
try {
messageRepository.save(corruptedMessage);
fail();
catch (YourException e) {
assertEquals("Expected value", e.getXxx());
// ...
}
}