小编pav*_*lou的帖子

使用maven surefire将测试详细信息输出到stdout失败

当我使用maven 2运行我的构建时

mvn clean install
Run Code Online (Sandbox Code Playgroud)

我的测试由surefire插件运行.如果测试失败,我会得到以下输出:

Results :

Failed tests: 
  test1(com.my.MyClassTest)

Tests run: 3, Failures: 1, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.

Please refer to /home/user/myproject/mymodule/target/surefire-reports for the individual test results.
Run Code Online (Sandbox Code Playgroud)

要获得有关问题的详细信息,我必须查看surefire报告文件夹.每次我的测试失败时这样做会变得很烦人.有什么方法可以在stdout上获取这些细节(断言消息+异常+堆栈跟踪)吗?

java testing maven-2 maven-surefire-plugin

16
推荐指数
1
解决办法
2万
查看次数

在webdriver中找到两个元素中的任何一个

在我的应用程序中,当我打开页面XI期望看到元素A或元素B.它们被放置在DOM中的不同位置并且可以使用它们的ID找到,例如 driver.findElement(By.id("idA"))

如何让webdriver找到A或B?

driver.findElements(By)当找到至少一个元素时,有一种方法会停止等待,但这种方法迫使我对A和B使用相同的定位器.

可靠地找到A或B的正确方法是什么,这样我就不必等待隐式超时?

selenium webdriver selenium-webdriver

16
推荐指数
1
解决办法
2万
查看次数

Mockito:方法的返回值取决于其他方法

在我的单元测试中,我需要模拟不同方法之间的接口nextItem()isEmpty()方法:

public interface MyQueue {
    Item nextItem();
    boolean isEmpty();
    //other methods
    ...
}
Run Code Online (Sandbox Code Playgroud)

我对mock的要求是,isEmpty()最初应该返回false,但是在nextItem()调用之后isEmpty()应该返回true.因此,我正在用一个项目模拟一个队列.

  1. 使用mockito实现这种模拟的最简单方法是什么?
  2. 我可以实现额外的要求:调用nextItem()第二次,第三次等等会导致特定的异常吗?

PS我不想为测试提供我的接口的完整实现,因为其中有其他方法,导致难以理解和冗长的代码.

java junit mockito

7
推荐指数
2
解决办法
1万
查看次数

如何优雅地终止 TestNG 测试?

我的一些 TestNG 测试涉及持久数据使用。当测试完成时,应该执行一些操作来恢复数据的状态(例如清理)。我使用@AfterClassor解决了这个问题@AfterMethod

问题是,有时在开发过程中我的测试会挂起,我需要手动终止它。当终止运行测试的 JVM 进程时,我必须自己执行所有测试后操作。

有什么方法可以终止测试以便@After*调用我的方法吗?

java testng

5
推荐指数
1
解决办法
5501
查看次数

将没有节点本身的xml节点内容提取到jmeter中的变量中

在我的 JMeter 场景中,我正在测试 SOAP Web 服务。我将初始请求发送到 Web 服务 S1,然后使用它的响应来构建对 S2 的请求。S1 的响应采用以下形式:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <s:response xmlns:s="http://custom.namespace.com/namespace">
    ...
        <s:responseDetails>
            <s:detail1>some info</s:detail>
            <s:detail2>another info<s:detail2>
            ...
        </s:responseDetails>
    </s:response>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

我需要使用里面的所有内容<s:responseDetails>来构建对 S2 的请求,但包装在不同的 xml 元素中:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:s="http://custom.namespace.com/namespace">
<soap:Body>
    <s:request>
        <s:details>
            <s:detail1>some info</s:detail>
            <s:detail2>another info<s:detail2>
            ...
        </s:details>
    </s:request>
</soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

注意<s:details>请求中的元素而不是<s:responseDetails>.

我从 XPath 提取器开始,希望使用 XPath 表达式将<s:responseDetails>标记下的所有内容放入 JMeter 变量中:

  • //*[local-name()='responseDetails']/node()- 给我一组具有不同子代的 JMeter 变量<s:responseDetails>,而我希望它们位于一个变量中
  • //*[local-name()='responseDetails']<s:responseDetails>- 给了我由于根标签的存在而无法使用的整个节点<s:responseDetails>,我需要将其替换为<s:details>

将所有内容放入<s:responseDetails> …

xpath jmeter

5
推荐指数
1
解决办法
7144
查看次数

压缩具有指定范围和精度的浮点数

在我的应用程序中,我将使用浮点值来存储地理坐标(纬度和经度).

我知道,这些值的整数部分将在范围[-90, 90][-180, 180]分别.此外,我还要求对这些值强制执行一些固定的精度(现在可以,0.00001但以后可以更改).

在研究单精度浮点类型(float)之后,我可以看到包含我的值只是有点小.那是因为180 * 10^5大于2^24(浮点数的有效数的大小)但小于2^25.

所以我必须使用双倍.但问题是我要存储大量的这些值,所以我不想浪费字节,存储不必要的精度.

那么在将我的double值(具有固定的整数部分范围和指定的精度X)转换为java中的字节数组时,如何执行某种压缩?因此,例如,如果我使用示例(0.00001)的精度,我最终为每个值5个字节.我正在寻找一种轻量级的算法或解决方案,因此它并不意味着大量的计算.

java compression floating-point

4
推荐指数
1
解决办法
2322
查看次数

Scala地图列表元素到从先前元素计算的值

我在Scala中有一个字符串元素列表:

val list = List("a", "b", "c")
Run Code Online (Sandbox Code Playgroud)

是否有任何简洁的方法来构造另一个列表,其中每个第i个元素将从列表的第0..i个元素构造(在我的情况下是list.take(i + 1).mkString("|"))

val calculatedLst = briefFunc(list) // List("a", "a|b", "a|b|c")
Run Code Online (Sandbox Code Playgroud)

functional-programming scala

4
推荐指数
1
解决办法
1560
查看次数