由于响应中缺少数据,请确保间歇性地测试失败

时间:2015-07-17 18:29:49

标签: java postman rest-assured

我有一个放心的测试,我将json转换为java对象并在java对象上断言。在响应对象中,有一个特定的值,我在测试中断言。当我使用POSTMAN手动运行服务时,我总是在响应中看到参数值,但是当我的自动化测试执行时,响应对象中并不总是存在该值。

我怀疑这可能是服务方面没有发送一致响应的问题,但是当手动点击时,该值始终存在。

测试代码:

    @Test
    public void validateResponse() {

        RequestObject.name= "Hello";
        RequestObject.age="20";          

        ResponseObject responseObject= given()
                .contentType(TestData.CONTENT_TYPE_FOR_TEST)
                .body(RequestObject)
                .then()
                .log()
                .everything()
                .when()
                .post(uri)
                .as(ResponseObject.class);    
        assertNotNull(responseObject.name);
        assertNotNull(responseObject.year.age);

我认为我的测试很简单并不复杂,但断言间歇性失败。

有关如何在此进行更多调试的任何见解?

1 个答案:

答案 0 :(得分:1)

RequestObject中的字段看起来是静态的,我认为JSON对象映射器很可能不会将结果绑定到静态字段。尝试使它们非静态。