首页 > 解决方案 > jUnit如何测试仅将数据从实体设置为dto的方法

问题描述

我对仅从实体获取数据并将其分配给 DTO 的测试方法有问题。我传递了空的 DTO,以及由 entityMother 创建的实体。该方法工作正常,但我不知道如何为此做出断言。我认为为这个 DTO 的每个值/属性创建断言并不是测试它的正确方法。

为什么我需要测试这样的方法?

@Test
    public void shouldSetAvailabilities() {
        EditedTemplateShowDto editedTemplateDto = new EditedTemplateShowDto();
        productTemplateEditService.getAndSetAvailabilities(editedTemplateDto, editedProduct);

        //Here should be condition which check that the metod set data
    }

我只需要检查该方法是否没有抛出任何错误,并且没有一个字段分配了空值。

标签: javajunit

解决方案


可能的解决方案是:

  • 您可以将对象序列化为 JSON,然后比较结果字符串。(最干净的方式)
  • 覆盖匹配的 toString() 然后比较结果字符串。
  • 在测试中使用反射(检查变量名称)放置几个断言条件,以检查没有任何空值或未映射值(不良做法)。

推荐阅读