我有这个 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);
}
从未使用过后端酒店服务
最佳答案
创建新的 FindHotelDataRequestTransformer 时,是否访问 backendHotelService 的任何字段?
如果是这样,您将需要模拟响应。
试试下面
Mockito.when(backendHotelService.name()).thenReturn("测试);
关于java - 使用@MockBean 或@Autowired 在测试中模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56986508/