0

为什么下面的代码在不同的线程中运行测试?测试类:

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"呢?

4

0 回答 0