当前,我已经建立了一个自动化测试框架,该框架执行以下操作:
关于并行运行测试时使用静态方法和变量,我需要您的建议,即使同时运行测试,数据也能正确存储吗?
public class Chat_Pojo {
private static String messageToSend;
public static void storeUniqueMessage(String message) {
messageToSend = message;
}
public static String getUniqueMessage() {
return messageToSend;
}
public static void wipeMessage() {
messageToSend = null;
}
...
}
private static String messageToSend;
仅属于Chat_Pojo
类,因此,如果您不想共享该值,则应使用private static ThreadLocal<String> messageToSend
对其进行修改。在这种情况下,每个线程将具有其自己的messageToSend
值。如果要获取该值,则分别需要调用set()
或get()
如果要在线程之间共享该值,则需要同步修改方法(public static void storeUniqueMessage(String message)
和public static void wipeMessage()
)