首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试在CruiseControl中失败,但当我运行它们时成功

测试在CruiseControl中失败,但当我运行它们时成功
EN

Stack Overflow用户
提问于 2012-11-21 06:46:04
回答 1查看 415关注 0票数 2

我有CruiseControl.NET (v1.6.7981.1)设置在Windows7Pro专用的构建机器上。我要构建一个VS2012项目设置,然后使用Gallio.Echo.exe运行MBUnit测试。我的问题是,当CC.NET运行这些测试时,它会在其中几个测试上失败,但是当我在包含测试的完全相同的dll上从命令行运行与CC任务中指定的参数完全相同的程序时,每个测试都会通过。我似乎搞不清到底是怎么回事。有人能解释为什么某些测试在CruiseControl运行时可能会失败,而当我运行它们时却会通过吗?我尝试在运行CruiseControl服务的相同帐户下运行它们,因此我不认为这是权限问题。我甚至试着一次又一次地把它关掉(机器)。

CruiseControl正在以具有管理权限的登录窗口服务的形式运行。我们的VS项目是一个.NET 4.0桌面应用程序,但我们已经包含了一个以前为.NET 3.5构建的遗留项目,升级到.NET 4.0。这个项目引用了Microsoft.Ink程序集(v6.1.0.0),我已经确认这是在构建机器上的GAC中。实际上,失败的测试正在测试使用此程序集的应用程序的一部分。我们计划在稍后取代这个遗留项目,但现在必须接受它。

下面是CruiseControl中测试报告中的错误:

Microsoft.Ink.InkOverlayClass.set_Enabled(Boolean : Microsoft.Ink.InkPicture.set_InkEnabled(Boolean值ErrorCode:-2147418113 )在.vb:line 1201.

下面是(VB.NET)代码失败的地方

代码语言:javascript
复制
Dim inkPictureObject As New Microsoft.Ink.InkPicture()
...
inkPictureObject.InkEnabled = False
inkPictureObject.Ink = New Ink()
inkPictureObject.InkEnabled = True '<-- fails here

除了这个(COMException occurred: ErrorCode = -2147287036)和这个(Only while running on VS 2010: COMException: Catastrophic Failure: Error Code: -2147418113)之外,我似乎找不到任何关于错误的信息,因为我没有分配资源,所以这两个信息都没有帮助,在运行VS2012程序时,我也没有遇到任何问题。真正的问题是(如前所述),当我从命令提示符(作为运行CruiseControl服务所用的同一个用户登录)使用与CruiseControl配置中指定的参数相同的参数运行它们时,测试工作得很好。

Gallio.Echo.exe /rnf:test-report /rt:Xml-内联/v:Quiet "C:\My project\testAssembly.dll“

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-21 20:39:36

尝试从命令提示符中运行ccnet,看看测试是否失败或通过。我认为你只需要执行ccservice.exe

如果ccnet作为windows服务运行,我可以理解这可能失败的原因。windows服务不能*创建新窗口。

此MicrosoftDocumentshttp://msdn.microsoft.com/en-us/library/aa514604.aspx声明InkPicture是一个c#包装器,它创建一个窗口来显示图片并与图片进行交互。

The run time user interface for this control is a window with an opaque background (single color, picture background, or both) that contains opaque ink.

*可以将作为系统运行的windows服务设置为允许创建interaction with the desktop。虽然这种支持显然是分阶段进行的,但却是由微软提供的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13487784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档