在Mockito中访问层次结构时设置类成员

时间:2019-02-26 17:00:29

标签: java unit-testing spring-boot junit mockito

我正在使用Mockito在Spring引导应用程序中编写单元测试。 我需要设置不在我的班级中的类成员'id'的值,由B扩展的另一个类BMap,并且B会保存在A的映射字段中。

A a = new A();
B b = new B();
a.set_extends(b.set_id("id"));
Mockito.when(RestAdapter.getObject(Mockito.anyString(), Mockito.anyMap())))
    .thenReturn(Mono.just(a));
Mono<A> res = serviceImpl.getA("aId");
StepVerifier.create(res).expectNextMatches(response -> {
  BDDAssertions.then(response.getId()).isEqualTo("id");

在这段代码中,最后我应该获得在开始时设置的值。 getA()是正在测试的函数。

代码中使用的类具有给定的结构:

 public class A {
      private Map<String, List<B>> _extends;
    }

B还扩展了另一个BMap类,我需要为其设置id字段的值。

    public class BMap {
      private String _id;
    }

public class B extends BMap {
  private String bClass;
}

请提出如何通过Mockito模拟测试来实现。

0 个答案:

没有答案