微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何在 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 举报,一经查实,本站将立刻删除。