首页 > 解决方案 > 为什么 unitest for sharpdx 在 Jenkins 上失败,但在本地失败,我该如何解决?

问题描述

我有几个在本地运行良好的 UnitTest,但在我的 Jenkins-Server 上失败了。所有单元测试都以类似的原因失败:SharpDX 无法获取资源。

 SetUp : SharpDX.SharpDXException : HRESULT: [0x887A0022], Module: [Unknown], ApiCode: [Unknown/Unknown], Message: A resource is not available at the time of the call. However, it may be available at a later date.
 +++++++++++++++++++
                                                STACK TRACE:
                                                at SharpDX.Result.CheckError()
at SharpDX.Direct2D1.Factory.CreateHwndRenderTarget(RenderTargetProperties& renderTargetProperties, HwndRenderTargetProperties& hwndRenderTargetProperties, WindowRenderTarget hwndRenderTarget)

我的 Jenkins(版本 2.190.1)在本地系统帐户下运行。该错误似乎与此有关(无屏幕会话)。我尝试了@maQ 在Jenkins on Windows 和 GUI Tests 的答案中的解决方案,没有 RDC并以本地用户身份运行 jenkin 但没有成功。

标签: unit-testingjenkinssharpdx

解决方案


您是否测试过从命令行或 IDE 运行代码?如果您没有从命令行本地测试您的代码,您可以测试它。

你的构建节点和本地机器是一样的吗?如果没有,请验证您的构建节点中是否安装了 sharpdx。

如果它已经过测试并且可以工作,并且您的构建节点也配置了 sharpdx,那么在 jenkins slave 的配置中将环境变量点添加到 sharpdx 主目录应该可以工作。一切顺利 !


推荐阅读