在单独的线程上运行的两个实例交叉并复制了它不应该有的数据



我有一个运行自动测试的可执行文件。今天,我通过运行一个同时运行所有测试的.bat文件来运行 4 组测试。

测试正在我们的软件中构建策略。我们收到一个 SQL 错误,该错误是由两个实例同时输入相同的保单持有人信息引起的。

在每种情况下,测试都会从包含 1500 多个名称和地址的列表中随机选择,因此它们都可能(尽管不太可能(都选择了相同的记录。

令人困惑的是,两人还输入了相同的驾驶执照号码,该号码在每种情况下都是随机生成的。

这在 100 年代

/1000 年代的运行中从未发生过。

运行同一可执行文件的两个实例是否有可能以某种方式相互交叉污染?

        Random rnd      = new Random();
        else if (Crawlspace.DLState == "NEW MEXICO")
            {
                int DLNum = rnd.Next(100000000, 999999999);
                Crawlspace.DLNumber = DLNum.ToString();

测试以这种方式构建,以确保在每种情况下都有唯一的记录。

谢谢努普。这解释了我不理解的地方。

为了修复,我也将使用这一行随机生成种子......

Random

rand = new Random(Guid.NewGuid((。GetHashCode(((;

(从另一个非常相似的问题中得到这个(

最新更新