2017-11-30 18 views
1

私は単なる初心者であり、TFSとその継続的な統合ワークフローについて学んでいます。これが言われても、これは簡単な質問で不足しているかもしれないので、愚かな質問かもしれませんが、どんな助けや助言も高く評価されます。TFSビルドパイプラインでユニットテストを実行する(

私は、TFSサーバーのCIビルドパイプラインでテストタスクとして実行したい.NET Core 2.0を使用して書かれたかなり単純な単体テストサンプルを持っています。

using Microsoft.VisualStudio.TestTools.UnitTesting; 

namespace MyUnitTest 
{ 

    [TestClass] 
    public class MyUnitTest 
    { 

     [TestMethod] 
     public void PassingTest() 
     { 
      Assert.AreEqual(4, Add(2, 2)); 
     } 

     [TestMethod] 
     public void FailingTest() 
     { 
      Assert.AreEqual(5, Add(2, 2)); 
     } 

     int Add(int x, int y) 
     { 
     return x + y; 
     } 

    } 

} 

私は、Visual Studioでこれらのテストを実行しようとすると、それは完璧に構築し、テストが成功し、それに応じて失敗する:これはかなりこのようなものになります。だから私は私のプロジェクトをコミットし、私たちのTFS gitリポジトリにプッシュします。今、同様のテストをビルドパイプラインに統合したいと考えています。

CIビルドで使用されるビルド定義は、thisのようになります。私はVisual Studio Test - testAssembliesタスクをビルドパイプラインに追加し、検索パターンをMyUnitTest.dllという名前のアセンブリを見つけるように設定しました。ビルドをキューに入れると、VSTestのlogに次の警告が表示されます。

Warning: No test is available in C:\BuildAgent\_work\9\s\MyUnitTest\MyUnitTest\bin\release\netcoreapp1.1\MyUnitTest.dll. Make sure that installed test discoverers & executors, platform & framework version settings are appropriate and try again.

だから、VSTestは何とかターゲットアセンブリで実行するテストを見つけることができないように私には思えます。私は何かを間違って設定したり、特定のパラメータを適切に設定するのを忘れたりすることはかなり肯定的です。私が間違っていることを突き止めてしまう可能性のある示唆に対して、私は感謝しています。

オンラインで解決策を検索すると、私はこれに遭遇しましたquestion、これは同様の問題があるようです。

+0

をあなたが追加しましたあなたのプロジェクトにxUnitテストランナーのNuGetパッケージ? –

+0

はい私はxUnitテストランナーを含めました。 –

+0

@EmreAKI [this](https://stackoverflow.com/questions/47546562/xunit-tests-do-not-appear-on-tfs)質問にも同様の問題があります。その答えがあまりにも役に立ちます – Szeki

答えて

1

まずビルドエージェント環境がローカル開発マシンと同じであることを確認してください。 Visual Studioのバージョン、MsTestAdapter、xunitランナーのバージョンなど。

TFSではなくビルドエージェントマシンで直接テストを手動で実行することで、これを再度確認できます。

次にビルドパイプラインで以下のタスクを使用します。

  1. dotnet restoreタスクを追加します。
  2. 次に、dotnet buildタスク。

enter image description here

詳細は、このチュートリアルのブログ参照してください。次の設定でPublish test resultsタスクの追加の引数で--no-build --logger "trx;LogFileName=tests-log.trx

  • dotnet testタスクを追加します。Running dotnet core xUnit tests on Visual Studio Team Services (VSTS)

  • +0

    ありがとう!これは大いに役立ちます。 –

    関連する問題