1

我的用例是我使用 TeamCity http://www.jetbrains.com/teamcity/来构建一些项目并对其进行测试。

在我的测试中,我创建了 .net 进程并在其上运行返回数字 7 的 python 方法(通过 RPyC)。

exit(7)

我执行当我的进程退出时,他的退出代码将是 7。这确实发生了退出代码为 7 的进程退出。

Assert(7, p.ExitCode)

但是......当我在其他计算机上运行相同的用例时,测试运行并将 7 返回给进程,但测试失败,因为进程的返回代码始终为 0 而不是 7,并且 Assert 方法返回 false。

我认为即使进程由于某种原因失败,他的退出代码也应该是 -1 或其他非零整数而不是 0,所以有什么建议为什么会发生这种情况?

测试环境一定有问题,因为相同的代码在其他计算机上工作,那么这可能是什么原因?

电脑区别:

好的(物理计算机): CPU:Intel xeon E5440 2.83 GHz RAM:2 GB 操作系统:Win7 32 位

坏(虚拟计算机): CPU:Intel xeon X5680 3.33 GHz(2 个处理器) RAM:3.5 GB 操作系统:Win7 Service pack 1 32 位

时间:

在我失败的计算机中,当 shell 运行时出现以下错误:“UNC 路径不受支持”。发生这种情况是因为 shell 打开了桌面路径,即网络路径。然后路径更改为默认路径 c:\windows。但奇怪的是,这个过程一直运行良好,没有发生异常,而且 exid 代码是 0 而不是 1 或 -1 所以我仍然不明白为什么会发生这种情况

4

1 回答 1

0

测试环境一定有问题,因为相同的代码在其他计算机上也可以工作,所以这可能是什么原因

最可能的罪魁祸首通常是环境(就像您在 中可能遇到的那样os.environ)和竞争条件。从简单的东西开始:比较两个地方的执行环境。

于 2013-06-10T14:35:18.123 回答