当前位置: 代码迷 >> java >> 放心测试由于响应中缺少数据而间歇性地失败
  详细解决方案

放心测试由于响应中缺少数据而间歇性地失败

热度:21   发布时间:2023-07-31 11:46:08.0

我有一个放心的测试,我将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);

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

关于如何对此进行更多调试的任何见解?

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

  相关解决方案