![](/img/trans.png)
[英]How do I wire up the correct Spring context to my Cucumber tests?
[英]My rest services relies on an external service. How do I mock it to use on my cucumber tests?
我在 spring 啟動 maven 中進行了一些 cucumber 測試(給定,何時,然后是集成測試),並且我只能使用外部服務運行 TestRestTemplate 來測試我的端點,
外部服務的工作是在我將信息保存到數據庫之前檢查一些字段。
正常運行應用程序時,外部服務由 FeignClient 調用。
是否可以在使用 TestRestTemplate 測試端點時模擬外部服務?
編輯:
結構樣機樣機
Controller.java
@Autowired
EmployeeSvc employeeSvc;
@PostMapping(/save)
public ResponseEntity<String> saveEmployee(@RequestBody EmployeeDTO employeeDTO) {
employeeSvc.save(employeeDTO);
}
EmployeeSvc.java
@Autowired
ExternalSvcClient externalSvcClient; //External service is called by feignclient here.
@Autowired
EmployeeRepository employeeRepository;
public void save(EmployeeDTO employeeDTO) {
externalSvcClient.check(employeeDTO);
...some other code
Employee employee = dtoTransformer.transoform(employeeDTO);
employeeRepository.save(employee);
}
好的,我設法按照這個使用wiremock進行測試。
對於存根,請確保不要在路徑中包含參數:
如果您的請求 url 看起來像這樣
myrequest/?value1=someValue
在存根和 append rest 模板上的參數中使其像這樣,否則它將不起作用
myrequest/
restTemplate.getForEntity(url+"value1=someValue"....)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.