java - jUnit:如何测试实体的强制属性

标签 java unit-testing junit

我对 jUnit 测试还很陌生,我正在尝试为我的 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);
}

尽管如此,我的消息实体具有更多强制属性...如何在一个函数中测试所有属性是否都已正确设置?

最佳答案

基本上,您需要测试 messageRepository.save(Message) 方法是否抛出包含有关缺失字段的一些信息的异常。

下面的代码片段可能会帮助您实现目标。将 catch block 中的断言替换为您需要验证的内容。

@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());
       // ...
   }
}

关于java - jUnit:如何测试实体的强制属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36643984/

相关文章:

java - 如何在 WildFly 上禁用 WELD

javascript - karma - Jasmine : Error: Unexpected request: POST

java - 在Spring Web应用程序中运行junit时,出现错误: java. lang.IllegalStateException:无法加载ApplicationContext

java - 有没有办法一次性加载 Spring Boot 应用程序中的配置?

java - 如何使用 Mockito 模拟 Spring 的 JdbcTemplate.queryForList?

java - Java中数组的内存使用开销的原因是什么?

java - 如何使禁用的 JTabbedPane 选项卡的外观与 Activity 时的外观完全相同?

java - Java 中可搜索的对象列表

c# - 我应该将私有(private)方法提取到单元测试类吗?

database - 如何使用数据库查询对对象进行单元测试