jUnit:如何测试实体的强制属性
jUnit: How to test mandatory attributes of Entity
我对 jUnit
测试还很陌生,我正在尝试为我的 Spring Boot
应用程序编写一些 integration test
。我的计划是测试是否设置了对象的所有强制属性。我想到了类似的东西:
@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());
// ...
}
}
如果你想断言异常,那么我建议使用 ExpectedException
。如果您想验证对象属性,那么我建议您使用自定义匹配器。
我对 jUnit
测试还很陌生,我正在尝试为我的 Spring Boot
应用程序编写一些 integration test
。我的计划是测试是否设置了对象的所有强制属性。我想到了类似的东西:
@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());
// ...
}
}
如果你想断言异常,那么我建议使用 ExpectedException
。如果您想验证对象属性,那么我建议您使用自定义匹配器。