詹金斯

时间:2016-11-07 05:47:32

标签: c# unit-testing jenkins

我们在C#解决方案中进行了10K +单元测试,这些测试在本地和TFS中运行时传递。

现在,我们正在为我们的解决方案堆栈设置Jenkins,我们面临着大约250个Unitests一直失败的问题。

当我尝试使用Visual Studio和Commnad提示符(MSTest)在jenkins安装服务器中运行它们时,会传递相同的单元测试。

您认为这个问题是什么?任何导致查看此问题的信息都会有所帮助。

修改1:

我做了研究而没有找到任何东西,因为问题本身就很奇怪。如果你不清楚请提出问题,而不是唐氏投票。

编辑2:

我能够找出问题所在。它与unittests dll配置文件。当我通过删除配置文件在服务器中执行MSTest时,我看到同样的一组测试失败,这些测试失败了Jenkins设置失败。

我想我们需要修改Jenkins门户中配置的步骤以加载unittests dll配置文件。

3 个答案:

答案 0 :(得分:0)

我的猜测是你的测试实际上不是单元测试,而是集成测试或者更糟糕的是,它们会非确定性地失败。除此之外,你要求人们在没有发布源代码的情况下完成不可能的工作。

无论是发布消息,还是聘请了解Jenkins IMO的顾问。

答案 1 :(得分:0)

条件编译符号可能存在​​问题(例如DEBUGRELEASE代码):在VS中,您通常在发布版本的CI服务器上的DEBUG构建上运行测试。 / p>

还要看一些未正确清理的全局状态。在测试之后可能仍在运行的某些线程似乎已经完成,可能会破坏以后的测试,即使后面的测试位于不同的测试dll中也是如此。如果测试失败取决于测试运行的顺序,有时可以检测到这种情况。

经常遇到的另一个问题是依赖于文件中的测试数据:实际运行测试的虚拟化环境中可能缺少文件。使用Deployment属性。

答案 2 :(得分:0)

我遇到与NCrunch类似的问题。也许你可以在VS中检查你的" Build" -tag the Platform目标。它应该像Jenkins一样配置。例如"平台目标"是x64,它也应该在Jenkins中使用。

相关问题