2009-04-01 32 views
3

チェックイン時に自動的にビルドするようにTFSが設定されています。TFS 2008での自動テストの実行

私たちの問題は、単体テストをサーバー上で実行するにはどうしたらいいですか?

  1. ビルドサーバーでテストを実行するにはどうすればよいですか?
  2. サーバー上でSQLスクリプトを自動的に実行してテストデータベースを構築するにはどうすればよいですか?
  3. ビルドサーバーにVisual Studioをインストールする必要はありますか?
  4. クライアントでVisual Studio Test Editionが必要ですか?

答えて

0

NUnit-Testsを実行する場合は、Build-.projファイルに含めるMSBuild-Taskをセットアップする必要があります。 VS統合テストを実行する場合は、デフォルトのビルドスクリプトに事前設定されたタスクがあります。サンプルは、生成されたBuild-.proj-Fileで(コメントアウトされています)。

通常、ビルドに必要なものを実行できます。 MSBuild-Tasksを作成し、既存のビルドスクリプトに統合するだけです。既存のビルドスクリプトは、すでにいくつかの場所で拡張可能です。 MSBuildのすべてを記述するのはあまりにも多すぎます。 MSBuildに関するさまざまなWeb-Sourcesを参照してください。

Build-Machineでテストを実行するために必要なものをインストールする必要があります。 NUnit-TestsのNUnit、LoadtestsとWebtestsのVS Test Editionなどがあります。

クライアントにインストールするものは、ビルドサーバーには関係ありません。

1

TeamBuildTypeファイル(TFSBuild.proj)を開きます。 そこには次のようなコメントが表示されます...

<!-- TEST ARGUMENTS 
If the RunTest property is set to true then the following test arguments will be used to run 
tests. Tests can be run by specifying one or more test lists and/or one or more test containers. 

To run tests using test lists, add MetaDataFile items and associated TestLists here. Paths can 
be server paths or local paths, but server paths relative to the location of this file are highly 
recommended: 

    <MetaDataFile Include="$(BuildProjectFolderPath)/HelloWorld/HelloWorld.vsmdi"> 
     <TestList>BVT1;BVT2</TestList> 
    </MetaDataFile> 

To run tests using test containers, add TestContainer items here: 

    <TestContainer Include="$(OutDir)\HelloWorldTests.dll" /> 
    <TestContainer Include="$(SolutionRoot)\TestProject\WebTest1.webtest" /> 
    <TestContainer Include="$(SolutionRoot)\TestProject\LoadTest1.loadtest" /> 

Use %2a instead of * and %3f instead of ? to prevent expansion before test assemblies are built 
--> 
関連する問題