Visual Studio单元测试无法启动

时间:2010-02-22 15:20:03

标签: visual-studio-2008 unit-testing

我在Visual Studio 2008 Team Test中的调试模式下启动测试时出现问题,它出现以下错误:

“无法排队测试运行'{user @ machinename}':对象引用未设置为对象的实例。”

我用谷歌搜索错误但没有快乐。甚至不明白这意味着什么,因为它太简短了。有人遇到过这个吗?

请注意,如果我没有调试,我可以运行测试,无论我运行的是什么测试都会得到相同的错误。

谢谢,

斯瓦特

ETA:

作为Visual Studio Team Test的新手,我不知道有什么比我看到的更好的异常日志。无论如何,这里是:

<Exception>
System.NullReferenceException: Object reference not set to an instance of an object.

at Microsoft.VisualStudio.TestTools.TestCaseManagement.QualityToolsPackage.
ShowToolWindow [T](T&amp; toolWindow, String errorMessage, Boolean show)

at Microsoft.VisualStudio.TestTools.TestCaseManagement.QualityToolsPackage.
OpenTestResultsToolWindow()

at Microsoft.VisualStudio.TestTools.TestCaseManagement.SolutionIntegrationManager.
DebugTarget(DebugInfo debugInfo, Boolean prepareEnvironment)

at Microsoft.VisualStudio.TestTools.TestManagement.DebugProcessLauncher.Launch(
String  exeFileName, String args, String workingDir, 
EventHandler processExitedHandler, Process&amp; process)

at Microsoft.VisualStudio.TestTools.TestManagement.LocalControllerProxy.StartProcess(
TestRun run)

at Microsoft.VisualStudio.TestTools.TestManagement.LocalControllerProxy.RestartProcess(
TestRun run)

at Microsoft.VisualStudio.TestTools.TestManagement.LocalControllerProxy.PrepareProcess(
TestRun run)

at Microsoft.VisualStudio.TestTools.TestManagement.LocalControllerProxy.
InitializeController(TestRun run)

at Microsoft.VisualStudio.TestTools.TestManagement.ControllerProxy.QueueTestRunWorker(
Object state)
</Exception>

2 个答案:

答案 0 :(得分:1)

使用VS 2008测试引擎时,您可能遇到计算机名称中由小写字符引起的(小)已知错误;有关它的一些信息,请参阅here。我花了几个星期的时间来弄清楚我的一个项目,而且在我能找到的任何地方的文档中都不容易找到它。

问题出在VS测试引擎中,如果计算机名称包含任何小写字母,则会出现此问题。测试引擎在运行时将计算机名称转换为所有大写字母,这会导致内部字符串比较失败,并导致出现与您所描述内容类似的错误消息。

您可能有也可能没有同样的问题,但如果您的计算机名称有任何小写字母,请尝试将名称更改为全大写版本,然后看看会发生什么......

答案 1 :(得分:0)

这是一个很长的镜头,但我有一个类似的错误消息,结果我的单元测试设置为配置管理器中的“x86”。

一旦我将其更改为“任何CPU”,它一切正常。

您可以考虑查看单元测试项目设置的目标。