1

好的,伙计们,我是新来的,所以我需要一点帮助。我在 C# 中为 Nunit 进行了自动化测试,并将其用于 CruiseControl CCnet.config:

<msbuild>
            <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
            <projectFile>ClassParseMicroData.sln</projectFile>
            <buildArgs> /t:Build </buildArgs>
            <targets>Build</targets>
            <timeout>600</timeout>
            <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
</msbuild>

<nunit>
            <path>C:\Program Files (x86)\NUnit 2.6.2\bin\nunit-console.exe</path>
            <assemblies>
            <assembly>D:\SeleniumProject\microdata-csharp\test-class\ClassParseMicroData\ClassParseMicroData\bin\Debug\ClassParseMicroData.dll</assembly>
            </assemblies>
            <timeout>180000</timeout>                   
</nunit>

我想从我的测试中发送到 App.config 的 MSbuild 属性,这样的东西<buildArgs> /t:Build /p:link=test </buildArgs>将在测试中使用,问题是我不知道如何正确编写 App.config 来发送这个值。在测试中我会这样使用ConfigurationManager.AppSettings["link"];

4

1 回答 1

0

您可能必须重写 ccnet.config 才能调用自定义 MSBuild 脚本。在自定义 MSBuild 脚本中,您可以使用MSBuild 社区任务,通过 XMLQuery 或 XMLUpdate 任务从 app.config 文件中获取值。获取 app.config 中的值后,可以将其传递到 MSBuild 的调用中以编译解决方案文件。

有关创建自定义 MSBuild 脚本的更多信息,Microsoft Build Engine 内部:使用 MSBuild 和 Team Foundation Build一书是一个很好的指南。或者,您可以使用MSDN MSBuild 参考

于 2012-12-28T16:45:50.370 回答