gpt4 book ai didi

java - 当执行在 xml 中定义的测试套件时,是否可以假设套件中的所有测试都在同一个 JVM 中执行?

转载 作者:行者123 更新时间:2023-12-02 11:21:40 25 4
gpt4 key购买 nike

我有一个在 xml 文件中定义的 TestNG 测试套件。该套件安装了套件监听器。

<listeners>
<listener class-name="com.my.package.MyListener"/>
</listeners>

onStart()在套件监听器中,我初始化了一些静态类成员。

是否保证套件中稍后执行的所有测试用例都在 onStart() 所在的同一个 JVM 中执行被触发,以便我在 onStart() 中初始化的静态变量值适用于所有测试用例?

最佳答案

是的,确实如此,将使用相同的 JVM,因此相同的静态字段将可供所有类使用。

尽管如此,我发现当测试套件配置为使用多个并行线程运行时(例如 thread-count="5"parallel="tests"),可能会出现一些初始化问题。

将同步添加到监听器类的 onStart 方法后,问题不再出现:

public synchronized void onStart(ISuite suite) {
// Initialization code
}

关于java - 当执行在 xml 中定义的测试套件时,是否可以假设套件中的所有测试都在同一个 JVM 中执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49878525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com