为什么下面的代码在不同的线程中运行测试?测试类:
public class InstancesOfClass {
public static int counter=0;
public InstancesOfClass() {
counter++;
}
@Test
public void testA() {
long id=Thread.currentThread().getId();
System.out.println("A:counter="+counter+" Thread id:"+id);
}
@Test
public void testB() {
long id=Thread.currentThread().getId();
System.out.println("B:counter="+counter+" Thread id:"+id);
}
@Test
public void testC() {
long id=Thread.currentThread().getId();
System.out.println("C:counter="+counter+" Thread id:"+id);
}
}
testng.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="instances">
<test name="Test1" >
<classes>
<class name="InstancesOfClass"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
输出:
C:counter=1 Thread id:14
B:counter=1 Thread id:13
A:counter=1 Thread id:12
在我给的套房里parallel="instances"
。counter=1
表明这个测试类只有一个实例。那么为什么测试在不同的线程中执行parallel="instances"
呢?