Junit5 AssertEquals给我错误的值。

时间:2018-12-06 20:20:20

标签: java testing assert junit5

当我做断言等于我得到这个而不是 calss的实际值。

assertEquals(预期的,实际的);

Actual: [com.eduardo.test.output@f58d94c2]
Expected: [{result={name="eduardo"}}]

为什么我的物体无法识别?

2 个答案:

答案 0 :(得分:0)

您正在得到一个对象。这是您的方法返回的结果。您可以将其强制转换为所需对象的类型,也可以声明属性。

类似assertThat(result.name = ExpectedName)

但我建议您使用Pojomatic ... 您可以在对象上使用注释@AutoProperty 并包含此方法:

  @Override
  public boolean equals(Object obj) {
    return Pojomatic.equals(this, obj);
  }

这样您的断言将起作用

答案 1 :(得分:-1)

在我的对象映射器中添加:

mapper.enable(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES);

在我的构造函数中,我必须添加:public

dummyClass(@JsonProperty("chargeType") String name)
    {
        this.name= name;

    }

这解决了我的问题。