我们可以在并发运行测试时使用静态 Pojo 方法吗?



目前,我已经建立了一个自动化测试框架,它执行以下操作:

同时执行
  1. 特定测试(即同时执行 x3 个测试 时间(。
  2. 该框架使用Cucumber BDD。
  3. 我需要跨步骤存储和共享数据。

我需要您在并发运行测试时使用静态方法和变量的建议,即使在并发运行测试时,数据也会正确存储吗?

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()(

最新更新