【问题标题】:Test NG - console output in Eclipse is overwrittenTestng - Eclipse 中的控制台输出被覆盖
【发布时间】:2018-11-22 22:15:43
【问题描述】:

每当我以 TestNG 身份运行测试时,Eclipse 中的测试报告都是部分的。 例如,当运行保证测试时,控制台中的报告将被覆盖。它没有附加,我不知道为什么。 以下代码记录请求正文和响应正文。如果它运行,我首先会看到请求正文,该正文立即被响应正文覆盖。

@Test(priority = 1)
public void simplTest() {
    req.given().log().all().when().get().then().log().all();
}

这是TestNG.xml文件的内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="classes" verbose="5">
<parameter name="orders" value="endpoint1/s" />
<test thread-count="1" name="Test" parallel="none">
<classes>
  <class name="salesManagement.Orders.GetOrders"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

谁能帮我解释为什么会这样?

【问题讨论】:

    标签: eclipse testng rest-assured


    【解决方案1】:

    您需要从testng.xml 中的suite 块中删除parallel 属性。

    在您的情况下,这会导致问题,因为请求在一个线程中执行,响应记录在覆盖控制台日志的其他线程中。

    编辑:

    您还可以通过更改console buffer size 来增加控制台限制,或者通过导航到Window -&gt; Preferences -&gt; Run/Debug -&gt; Console 在Eclipse 中取消选中limit console output 来完全删除限制。

    【讨论】:

    • 它没有帮助。我完全删除了两个块中的并行属性,甚至删除了线程数。
    • 即使这是一个有效的例子......youtube.com/watch?v=eP0-r3wkpFs
    • 尝试在终端中运行您的测试并检查您是否在终端中也遇到同样的问题。
    • 我知道问题出在哪里。 JSON 响应非常冗长且冗长。所以这就是它被剪掉的原因。 Eclipse 控制台中的消息有限制吗?
    【解决方案2】:

    其实明白了。响应没有被重写,但由于 Eclipse 中的设置,它被切断了。抱歉帖子不好,请随时重命名。我认为这是放心的问题。问题是响应体过多,这就是它发生的原因。

    解决方案:在 Eclipse - 窗口 - 首选项 - 运行/调试并取消标记限制控制台输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多