Hudson与MS Test问题:在通过Hudson构建作业时无法从代码中启动新进程

时间:2011-02-25 20:24:35

标签: hudson mstest

我遇到Hudson调用MSTest的问题。当我在我的机器上手动运行下面的命令时,我没有遇到任何问题。但是,一旦我让Hudson执行这些命令集,我的测试就无法正常运行。

cd C:\testProj

"%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe" testcontainer:testProj\bin\Debug\testProj.dll /resultsfile:result.trx

我检查了result.trx文件,它似乎在我正在启动一个进程的区域失败,该进程给出了以下异常。

System.InvalidOperationException:  System.InvalidOperationException: Process must exit before requested information can be determined.. Aborting test execution.

我理解这种情况正在发生,因为它认为我的进程尚未完成执行,但即使我尝试打开W​​indows计算器或任何其他应用程序,该应用程序也无法运行。

2 个答案:

答案 0 :(得分:0)

您可以进行“设置”调用以查看环境变量吗?由于Hudson从属服务器作为本地系统运行,因此可能没有设置您的登录用户具有的所有环境变量。我的一些奴隶必须设置为在系统上作为真实用户运行。

答案 1 :(得分:0)

我建议添加一个测试夹具,即具有_前缀,以便在所有测试之前运行以下语句:

var environmentVariables = Environment.GetEnvironmentVariables();
            foreach (var key in environmentVariables.Keys)
            {
                Console.WriteLine(key.ToString() + "=" + environmentVariables[key].ToString());    
            }