搜索了很多关于测试行为的生动答案,直到现在才找到......
如果我使用parallel=“methods”运行我的测试/套件 我的一个测试有 3 种方法(@Test 方法),其中 3 种方法 共享相同的实例对象/实例变量(不是静态的!)。 它是线程安全的吗? testng 完全分离了方法,因此每个方法都可以看到自己的共享方法的实例变量?我的意思是,testng 将为每个方法创建一个单独的类实例并运行?
最佳答案
我假设您正在使用 JUnit,并且我假设“实例变量(非静态!)”您只是指“测试夹具类成员”(或者您甚至可能指“测试用例局部变量”)。
那么答案是“不 - 他们不会共享同一变量的同一实例”。 JUnit 运行程序将为每个测试用例和每个测试装置创建不同的类实例。每个实例将同时运行,但类成员将是分开且相互独立的。
关于java - testng:在方法之间共享实例变量时运行parallel=methods,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54738015/