我有这个Junit测试,其中有一个我要模拟BackendHotelService对象的对象;我使用了@MockBean@Autowired,但是在运行测试时,我都得到了java.lang.NullPointerException

@Component
public class FindHotelDataRequestTransformer extends HotelDataRequestTransformer {


    public FindHotelDataRequestTransformer(BackendHotelService backendHotelService) {
        super (backendHotelService);
    }
..
}


和测试:

public class FindHotelDataRequestTransformerTest {

    @MockBean
    //@Autowired
    private BackendHotelService backendHotelService;

    private FindHotelDataRequestTransformer transformer;

    @Before
    public void setUp() {
        transformer = new FindHotelDataRequestTransformer( backendHotelService);
    }


从未使用过backendHotelService

最佳答案

创建新的FindHotelDataRequestTransformer时,您是否访问backendHotelService的任何字段?

如果是这样,您将需要模拟响应。

试试下面

Mockito.when(backendHotelService.name()).thenReturn("test);

10-05 18:28