2012-11-15 15 views
1

好,大家好我是新來的,所以我需要在C#中NUnit的一點help.I做自動化測試,我用它來CruiseControl的 的的ccnet.config:CCNET發送的值通過的MSBuild到的app.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"];

回答

0

您可能必須重寫ccnet.config以調用自定義MSBuild腳本。在自定義MSBuild腳本中,您可以使用MSBuild Community Task使用XMLQuery或XMLUpdate任務從app.config文件獲取值。一旦獲取了app.config的值,就可以在MSBuild的調用中傳遞該值,以編譯解決方案文件。

有關創建自定義MSBuild腳本的更多信息,書Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build是一個很好的指導。或者,您可以使用MSDN MSBuild reference