我们正在运行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很有趣。因此,假货无法运行,因为这是高级功能。安装高级版本,现在一切都像魅力一样运作。
感谢您的回复。我也发现了这一点,就像原文中提到的那样。我遵循的测试步骤教程是:http://blog.degree.no/2012/09/unit-testing-visual-studio-2012-fakes-in-team-city/然而,我目前有问题与编译,所以我还没有执行测试步骤。 – 2014-09-04 12:05:52
您是否尝试过在您的开发机器上执行clean checkout和rebuild,可能有些文件没有检入? – 2014-09-04 12:07:25