当前位置: 首页 > 知识库问答 >
问题:

当statusCode断言失败并重新启动时打印响应正文

何浩荡
2023-03-14

我正在使用Hamcrest对RESTAPI进行单元测试。

当我发送请求时,我经常检查200状态代码,如下所示:

public void myTest() {
    url = "route/to/my/rest/api/";
    secured().when().get(url).then().statusCode(200);
}

但是当我得到一个错误的代码状态时,我只得到一个断言错误。当状态代码不匹配时,是否有方法自动转储响应主体(其中包含错误)?

secured()方法:

public RequestSpecification secured() {
    return given().header("Authorization", "Bearer " + getAuth());
}

共有2个答案

姚韬
2023-03-14

当测试失败时,您可以向断言添加消息

.statusCode(describedAs("The test fails because ...", is(200)))
隆康平
2023-03-14

正如我在评论中提到的,我使用了以下内容

secured().when().post(url).then().log().ifValidationFails(LogDetail.BODY).statusCode(200);

你可以在留档里找到来源

 类似资料:
  • Spring Boot版本为1.5.6 使用的数据库是SQL Server2016,它也是在docker(windows容器)上。 问题:每当我重新启动SQL DB容器时,应用程序开始给出这个错误。 任何想法可以做什么来解决这个问题。 多谢了。

  • 问题内容: 我有一个Jenkins作业,它通过Nightwatch.js框架在Browserstack上运行Selenium测试。我们有一套完整的测试程序,可以让守夜人在不同的进程中运行,并且我们需要一种在所有测试运行后将通过/失败值返回给Jenkins的方法。 我一直在尝试使用Nightwatch挂钩在每个模块的末尾运行一段代码,但是我无法弄清楚需要采取什么措施才能使Jenkins作业可以访问该

  • 我试图在json响应体中使用RestAssured作为集成测试的一部分来断言时间戳字段。我不确定哪种方法是执行正则表达式匹配的正确方法 以下是json响应: 这是我的重新保证响应断言的代码 当我编译上面的代码时,我在验证时间戳模式时遇到了错误 我不确定哪种方法将在hamcrest支持正则表达式模式检查。

  • 从文件夹内部执行“npm start”命令时出现以下错误/ 我在互联网上尝试了多种解决方案,但都无效。

  • 我在单元测试中使用groovy脚本。我有以下代码片段,我在单个测试脚本中使用多个断言。 第一个断言失败并停止执行。但我想继续进一步的代码片段。 与selenium中的软断言类似,我应该如何收集groovy中的所有失败异常。

  • 我是JMeter和断言概念的新手。当我试图执行一个JMX文件(包含JMeter中的断言)时,遇到了以下错误消息: 断言错误:错误断言失败:真断言失败消息:测试失败:变量(搜索结果)不相等/接收:找不到[[[]]]]比较:找不到[[[]]]]] 脚本的执行方式如下:$java-jar./apache-jmeter-2.10/bin/apachejmeter.jar-t./jmeter-master/