如何在 Eclipse/Spring 工具套件中调试 Serenity BDD 故事

问题描述

下面是我写的BDD的配置

@SpringBoottest
@ContextConfiguration(classes={ABConfig.class,ABcclient.class})
public class ABCAcceptanceBDD extends SerenityStories {
    
}

这是故事文件

Scenario: Passing valid userID with valid userVehicleNumber
Given User enters valid <userId>,valid <userVehicleNumber> 
When User wants to get vehicleSummary 
Then Response for getVehicleSummary operation is <status>

Examples:
|userId         |userVehicleNumber     |status|
|jfdhddfkskd    |1                     |200   |

以下是我的 stepDeFinition 文件

public class vehicleSumStepDeFinitions{
    
    ResponseEntity<ABC> vehResponse = null;
    
    private String userId = null;
    private String userVehicleNumber = null;
    
    @Steps
    private ABcclient abcclient;//this client calls my vehicle Controller 
    
    
    @Given("User enters valid <userId>,valid <userVehicleNumber> ")
    public void givenValidClaimIdAndVehicleNumber(@Named(value = "userId") String userId,@Named(value = "userVehicleNumber") String userVehicleNumber) {

        //I want to check these named parameters in debug mode but the breakpoint in this file do not gets activated.
        this.userId = userId;
        this.userVehicleNumber = userVehicleNumber;
        
        
    }

    @When("User wants to get vehicleSummary ")
    public void getTotalLossSummary() throws IOException {
        
        // if i put breakpoint in this getUserVehSummary method that breakpoint also do not get activated so i cn see the url that is being formed in controller.

        vehResponse = ABcclient.getUserVehSummary(userId,userVehicleNumber);
    }
    
    @Then("Response for getVehicleSummary operation is <status>")
    public void thenTheReturnedStatus(@Named("status") String ExpectedStatus) {
        assertEquals(ExpectedStatus,vehResponse.getStatusCode());
    }

这是客户端代码

@TestComponent
public class ABcclient {

    @Autowired
    @Qualifier(name = "updateVehsummaryURL")// 
    private String updateVehsummaryURL;

    HttpHeaders headers = null;

    public ResponseEntity<ABC> getUserVehSummary(String userId,String userVehicleNumber) {
        headers = getHeadersInfo();
        UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromHttpUrl(updateVehsummaryURL)
                .queryParam("userId",userId).queryParam("userVehicleNumber",userVehicleNumber);
        
        RestTemplate restTemplate = new RestTemplate();
        
        httpentity entity = new httpentity<>(headers);
        try {
            ttlResponse = restTemplate.exchange(uriComponentsBuilder.toString(),HttpMethod.GET,entity,String.class);
        } catch (RestClientException e) {
            e.printstacktrace();
        }
        return vehReponse;
        
    }

预期: 我希望能够做的是在步骤定义文件中查看激活的断点,检查传入的参数。

我尝试过的: 我尝试在调试模式下运行应用程序,然后运行 ​​ABCAcceptanceBDD.java -> DebugAs -> Junit。但它只是运行。我无法观看/检查调试点。我在控制台中获得了日志,但我无法查看我准备的客户端 URL 是否格式正确。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)