TypeMockでは、独自のランナープログラムTMockRunnerを使用する必要があるため、TeamCityのGUIオプションを使用してすべての設定を取得する方法はありません。
代わりに、私が最初にこの内容でカスタムMSBuildのファイルを構築することだったやってしまった何を:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TypeMockLocation>C:\Program Files (x86)\TypeMock\Isolator\6.0</TypeMockLocation>
<NUnit>"C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe"</NUnit>
<NCover>C:\Program Files (x86)\NCover\NCover.Console.exe</NCover>
</PropertyGroup>
<Import Project="$(TypeMockLocation)\TypeMock.MSBuild.Tasks"/>
<Target Name="TestWithTypeMock">
<TypeMockStart Link="NCover3.0" ProfilerLaunchedFirst="true" Target="2.0"/>
<Exec ContinueOnError="true" Command="$(NUnit) v2.0 x86 NUnit-2.5.9 SqlDatabases.Core.Tests\bin\Debug\SqlDatabases.Core.Tests.dll SqlDatabases.SqlServer.Tests\bin\Debug\SqlDatabases.SqlServer.Tests.dll /ncover:%22$(NCover)%22 /ncover-arg://ias /ncover-arg:SqlDatabases.Core /ncover-arg://ias /ncover-arg:SqlDatabases.SqlServer /ncover-arg://et /ncover-arg:.*Exception /ncover-arg://x /ncover-arg:c:\temp\coverage.xml"/>
<TypeMockStop/>
</Target>
</Project>
私はチームシティーサーバ上のディレクトリに保存し、このファイル。テストスクリプトを私のリポジトリの一部にしたくないので、ソース管理にそれを追加しませんでした(Visual Studio内でテストをビルドして右クリックして実行できます。サーバーを構築すると、後でその決定を変更する可能性があります)。また、TeamCityサーバー用のビルド・エージェントは1つしかありませんので、当分の間私のために動作します。上記のファイルに加えて
は、私は次のバッチファイルを追加しました:
@echo off
setlocal
set CURDIR=%CD%
copy c:\dev\sqldatabases\tests.msbuild .\
msbuild tests.msbuild /target:TestWithTypeMock
rd /s /q c:\dev\sqldatabases\codecoverage
md c:\dev\sqldatabases\codecoverage
"c:\program files\ncover\ncover.reporting.exe" c:\temp\coverage.xml //or FullCoverageReport:Html:c:\dev\sqldatabases\codecoverage
cd \dev\sqldatabases\codecoverage
del %CURDIR%\coverage.zip
7z a -r %CURDIR%\coverage.zip
をそして私は、私のチームシティーのビルド構成に次の2つのビルドステップを追加しました:
- のVisual Studio解決策:デバッグ構成を作成します。
- C実行します。私は
coverage.zip
が私のビルド構成に成果物の下に表示されたことを確認しました、そして今私はコードカバレッジを持って、typemock \ Devの\ SqlDatabases \ Tests.bat(上記のバッチファイル)
をし、単体テスト。
私がこれまでに得る方法を理解できなかったのは、通常のTeamCity GUIを使用してすべての設定(マイナスタイプ・モック)を行うビルド構成のビルド結果をクリックすると、コード・カバレッジ上記のセットアップでは表示されませんが、完全なレポートがあり、TeamCityビルドのタブが表示されます。
これにより、他の人に何らかのトラブルを防ぐことができます。
[TeamCity forums](http://devnet.jetbrains.net/community/teamcity/teamcity?view=discussions)でより多くの成功をおさめることができます。 – adrianbanks