我正在使用带有MSTest的CruiseControl.NET来构建我的Excel加载项。我的一些测试包括打开Excel,执行一些操作和检查结果。这一切都是通过COM实现的。
如果我使用Visual Studio 2008运行测试,它们可以完美运行。但是,当CruiseControl启动测试时,Excel进程已创建但只是挂起。只有在我终止Excel进程时,测试过程才会继续。然后,webdashboard在TestInitialize函数中报告错误:它基本上只创建Excel的实例并加载我的XLL。
有没有人知道我的问题的解决方案是什么?我在构建服务器上使用Excel 2007。
谢谢,
克里斯
答案 0 :(得分:1)
这通常是因为存在仍然挥之不去的未被遮挡的物体。你需要在测试清理中更加健壮(想想工作簿,工作表,工作表,范围 - 可能还有更多),或者你可以使用Process类作为TestSetUp的一部分来进行暴力攻击并杀死任何excel实例(方法。