我正在使用TeamCity 8(v8.1.4)设置CI。
我终于设法设置TFS集成 - 即从TFS结账。 我使用超级简单的自动检测构建步骤[感谢JetBrains]来确定必要的构建步骤。
我使用了Get missing NuGet packages步骤,它按预期工作。
然后我有一个Visual Studio解决方案构建步骤,似乎构建很好,直到它想要构建单元测试和集成测试项目,它们都使用Microsoft Fakes。 在这里,我可以看到TeamCity尝试到处搜索[AssemblyNameUnderTest] .Fakes.dll - 其中[AssemblyNameUnderTest]是测试的任何dll。
我还没有把这个dll包含在我的项目中,也没有包含在TFS中,因为我认为每次将内容更改为原始的AssemblyNameUnderTest(ClassLibrary)项目时都会重新生成它。 我是否应该将[AssemblyNameUnderTest] .Fakes.dlls包含到项目和TFS中,或者我是否正确重新生成它们? 如果我对再生感到满意,那么为什么TeamCity找不到它?
提前致谢,
迈克尔
答案 0 :(得分:0)
啊,所以我找到了我的一个问题的答案:http://hamidshahid.blogspot.be/2012/11/microsoft-fakes-framework.html
“Fakes”文件夹中的文件仅在生成时生成 添加假货组件。它们被添加到解决方案中并且应该 检查源控制。
生成“FakesAssemblies”文件夹及其中的所有文件 无论什么时候编译项目。这很重要,因为如果你是 添加假货以便为变化的组件组装,生成 FakesAssemblies将确保所有更改都反映在 生成装配。
所以我这样做了 - 即它是默认行为。 在我的.fakes文件之上有“Fakes”构建操作,但它仍然不适用于TeamCity。
此外,TeamCity使用“C:\ Program Files(x86)\ MSBuild \ 12.0 \ Bin”中的MSBuild.EXE进行构建。
任何人都有一个好主意?
答案 1 :(得分:0)
为了修复构建,我删除了Fakes的东西并实现了Moq模拟。 似乎可以让您更好地控制到底发生了什么。