我的xml文件中有这样的测试-
<test name="1. Test 1">
<classes>
<class name="some class">
<methods>
<include name="some method" />
</methods>
</class>
</classes>
</test>
<test name="2. Test 2">
<classes>
<class name="some class">
<methods>
<include name="some method" />
</methods>
</class>
</classes>
</test>
<test name="3. Test 3">
<classes>
<class name="some class">
<methods>
<include name="some method" />
</methods>
</class>
</classes>
</test>
我正在使用<ThreadLocal>
存储一些我将在后续测试中使用的全局参数,但是从属测试有时会在并行执行中的不同线程中运行,因此我无法在该不同线程中检索参数。如何确保特定测试仅在特定线程中运行?
注意::我知道从属测试不是理想的设计,但我必须这样做。另外,每个<test>
标签中只能包含一种方法,因为我们的内部报告系统仅支持将这种格式的测试写入xml文件。
一个简单的解决方案是将参数存储在某些属性文件中并从那里检索。
欢迎使用其他任何解决方案。
有一个singlethreaded的概念,但它是在类级别定义的。我正在寻找类似的东西,但灵活性更高,例如对组执行此操作,以便可以将要在单个线程中运行的测试合并到一个组中,并将该组定义为在同一线程中运行。