2014-09-04 75 views
5

我们正在运行TeamCity 8.1.4 buildserver,并在机器上安装VS2013。使用TeamCity和Fakes Framework构建和测试

我最近介绍了依赖Microsoft Fakes Framework的测试。因此,我不得不添加一些对新伪造组件和Microsoft.VisualStudio.TestTools.UnitTesting组件的引用。 这一切在我的本地开发机器上运行良好。

现在,当我尝试建立的TeamCity服务器上的解决方案,下面的错误抛出:

SomeDirectory \处理器\ ProcessorTests.cs(3,27):错误CS0234:该 类型或命名空间名称 '伪造品' 不存在于命名空间 存在 'SomeDirectory.Database'(是否缺少程序集引用?)

SomeDirectory \处理器\ ProcessorTests.cs(7,66):错误CS0234:该 类型或命名空间名称'Fakes'不存在于命名空间 'SomeDirectory.Service.P rocessor.Report.Processors'(是否缺少 程序集引用?)

SomeDirectory \处理器\ ProcessorTests.cs(9,17):错误CS0234:该 类型或命名空间名称QualityTools'中不存在命名空间 “微软”(是否缺少程序集引用?)

我有所了解的前两个错误,因为我没有犯SVN假组件,因此,它们不能被发现。我也不想提交这些文件,因为构建服务器应该自己生成这些文件。假货文件的BuildAction设置为Fakes

我的猜测是前两个错误的起源在第三个错误处遇到。据我所知,QualityTools命名空间驻留在Microsoft.VisualStudio.TestTools.UnitTesting程序集中。

我试着用几个设置来解决这个问题。 原构建一步,我已经配置为:

亚军型=的Visual Studio(SLN)

的Visual Studio =微软的Visual

工作室2013

我已经改变了这个到:

转轮类型= MSBuild

的MSBuild版本=微软构建工具2013

的MSBuild ToolsVersion = 12.0

我也试过的MSBuild版本.NET 4.5与ToolsVersion 4.0

所有这些设置导致相同的错误。如你所知,这个解决方案目前不能编译,所以我不能确定测试是否会运行。我已经找到了关于如何使用TeamCity配置测试步骤的a post,但这是下一步。

任何人都知道如何解决与TeamCity和VS2013这些问题?

编辑

如果在文件系统中存在的TestTools.UnitTesting组装我已经检查。该组件存在,所以这不应该是一个问题

编辑2

哎呀,我看错了第三个错误信息。我应该一直在寻找Microsoft.QualityTools.Testing.Fakes程序集,因为它说它无法解析QualityTools命名空间。在检查路径Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies后,我可以确认该文件系统上没有dll。

我已经手动将它复制到buildserver并查看接下来会发生什么。

编辑3

复制了Microsoft.QualityTools.Testing.Fakes组件构建服务器后,将溶液编译就像一个魅力。不过,现在我收到了熟悉

无法从COR_PROFILER_PATH和 COR_PROFILER环境变量解决轮廓仪路径。

我以前在TFS2012服务器上看到过这个。这意味着它无法处理垫片,我们不得不升级到TFS2013。

我刚刚在buildserver上登录,看到VS2013版本已过期。这也许是它无法正常工作的原因。安装的VS2012安装版本为11.0.50727.1,因此未安装Update 3。我会与同事讨论是否可以更新。希望这将解决我面临的与假货和垫片所面临的问题。

已解决 显然有人认为在buildserver上安装VS2013 Professional很有趣。因此,假货无法运行,因为这是高级功能。安装高级版本,现在一切都像魅力一样运作。

回答

2

假货惯于与MSTest的运行,你必须向你VSTest.Console

通常(对于VS2012在这种情况下),它位于C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe

还有转轮上http://confluence.jetbrains.com/display/TW/VSTest.Console+Runner可用,但如果这行不通,手动运行可执行文件,这里是运行vstest.console.exehttp://msdn.microsoft.com/en-us/library/jj155796.aspx的参考。

如果你在代理机器上安装了VS2013(专业版包含假货,快递不要)应该编好。你有没有尝试在你的开发机器上清理结账?

+0

感谢您的回复。我也发现了这一点,就像原文中提到的那样。我遵循的测试步骤教程是:http://blog.degree.no/2012/09/unit-testing-visual-studio-2012-fakes-in-team-city/然而,我目前有问题与编译,所以我还没有执行测试步骤。 – 2014-09-04 12:05:52

+0

您是否尝试过在您的开发机器上执行clean checkout和rebuild,可能有些文件没有检入? – 2014-09-04 12:07:25

相关问题