Приложение Springboot не подключает все экземпляры автоматически, поэтому я вручную подключаю их все.Теперь JestClient
макет не устанавливается, я вижу только живой объект.Далее на самом деле я хочу проверить, если «aMethod имеет jestclient.execute (), а затем вернуть jestResult»
@RunWith(SpringRunner.class)
@SpringBootTest(classes = IngestionApplicationTests.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@TestPropertySource(locations = "classpath:application-test.yml")
@ComponentScan(basePackages = { "com.package.accounts" })
public class IngestionApplicationTests {
@Autowired
private IngestionServiceImpl vaService;
@Autowired
private IngestionQueryUtil queryUtil;
@Mock
private JestClient client;
private JestResult result;
...
@Before
public void setUp() {
client = mock(JestClient.class);
String resultString="<jsonString>";
result.setJsonString(resultString);
result.setJsonObject(new JsonParser().parse(resultString).getAsJsonObject());
result.setSucceeded(true);
try {
when(client.execute(anyObject())).thenReturn(result);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Я вижу, что Spring-Boot создает новый собственный контекст и не работает в тестовом контексте.