答案 0 :(得分:3)
我在测试中设置了线程名称。例如,看看我是如何做到的IN THIS PROJECT。基本上,我的所有Log4j消息(以及testNG报告消息)都显示其中的线程ID。
这是一个基本示例,可以很容易地在标准输出中显示线程ID。您还可以使用Reporter
类将threadid放入html标准中。不幸的是,你不能把strid放在HTML报告中的测试名称上,除非你写了一个自定义报告器(我在上面的项目链接中做过):
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class ParallelMethodTest
{
@BeforeMethod
public void beforeMethod() {
long id = Thread.currentThread().getId();
System.out.println("Before test-method. Thread id is: " + id);
}
@Test
public void testMethodsOne() {
long id = Thread.currentThread().getId();
System.out.println("Simple test-method One. Thread id is: " + id);
}
@Test
public void testMethodsTwo() {
long id = Thread.currentThread().getId();
System.out.println("Simple test-method Two. Thread id is: " + id);
}
@AfterMethod
public void afterMethod() {
long id = Thread.currentThread().getId();
System.out.println("After test-method. Thread id is: " + id);
}
}
答案 1 :(得分:1)
您可以使用setName()函数为您的线程提供自定义名称。
以下是JAVA中设置线程名称的示例:
Thread.currentThread().setName("Thread 1");
上面一行会将您当前的线程名称设置为“线程1”。