継続的インテグレーション-テスト

継続的インテグレーションの重要な機能の1つは、 on-going testingCIサーバーによってビルドされるすべてのコードを保持します。CIサーバーによってビルドが実行された後、必要なコードをテストするためにテストケースが適切に配置されていることを確認する必要があります。すべてのCIサーバーには、単体テストケースを実行する機能があります。CI suite。に.Net、ユニットテストはに組み込まれている機能です .Net framework 同じことをCIサーバーに組み込むこともできます。

この章では、でテストケースを定義する方法を説明します。 .Netビルドが完了したら、TeamCityサーバーにこのテストケースを実行させます。このために、最初に、サンプルプロジェクトに単体テストが定義されていることを確認する必要があります。

これを行うには、次の手順に細心の注意を払って従う必要があります。

Step 1−ユニットテストで使用される新しいクラスをソリューションに追加しましょう。このクラスには、文字列「継続的インテグレーション」を保持する名前変数があります。この文字列はWebページに表示されます。シンプルプロジェクトを右クリックして、メニューオプションを選択しますAdd → Class

Step 2 −クラスの名前を次のように指定します Tutorial.cs 画面の下部にある[追加]ボタンをクリックします。

Step 3− Tutorial.csファイルを開き、次のコードを追加します。このコードは、という文字列を作成するだけですName、およびコンストラクターで、名前を文字列値に次のように割り当てます。 Continuous Integration

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Simple {
   public class Tutorial {
      public String Name;
      public Tutorial() {
         Name = "Continuous Integration";
      }
   }
}

Step 4 −私たちに変更を加えましょう Demo.aspx.csこの新しいクラスを使用するファイル。このファイルのコードを次のコードで更新します。したがって、このコードは、上記で作成したクラスの新しいインスタンスを作成します。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Simple {
   public partial class Demo : System.Web.UI.Page {
      Tutorial tp = new Tutorial();
      protected void Page_Load(object sender, EventArgs e) {
         tp.Name = "Continuous Integration";
      }
   }
}

Step 5 −私たちの中で demo.aspx ファイル、参照してみましょう tp.Name で作成された変数 aspx.cs ファイル。

<%@ Page Language = "C#" AutoEventWireup = "true" 
   CodeBehind = "Demo.aspx.cs" Inherits = "Simple.Demo" %>
<!DOCTYPE html>
<html xmlns = "http://www.w3.org/1999/xhtml">
   
   <head runat = "server">
      <title>TutorialsPoint1</title>
   </head>
   
   <body>
      <form id = "form1" runat = "server">
         <div>
            <% = tp.Name%>)
         </div>
      </form>
   </body>
   
</html>

これらの変更でコードが正常に機能することを確認するために、VisualStudioでコードを実行できます。コンパイルが完了すると、次の出力が得られるはずです。

Step 6−次に、ユニットテストをプロジェクトに追加します。右クリックSolution メニューオプションを選択します Add → New Project

Step 7 −に移動 Test 右側で、を選択します Unit Test Project。次のように名前を付けますDemoTest 次に、[OK]をクリックします。

Step 8 −あなたの中で Demo Test project、Simpleプロジェクトと必要なものへの参照を追加する必要があります testing assemblies。プロジェクトを右クリックして、メニューオプションを選択しますAdd Reference

Step 9 −次に表示される画面で、[プロジェクト]に移動し、[ Simple Reference [OK]をクリックします。

Step 10 −クリック Add Reference もう一度、アセンブリに移動して入力します Web検索ボックスで。次に、の参照を追加しますSystem.Web

Step 11 −で Unit Test file、次のコードを追加します。このコードは、Tutorialクラスに文字列名変数があることを確認します。また、名前は「継続的インテグレーション」の値と等しくなければならないという事実も主張します。これが私たちの簡単なテストケースになります。

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.VisualStudio.TestTools.UnitTesting.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Simple;

namespace DemoTest {
   [TestClass]
   public class UnitTest1 {
      [TestMethod]
      public void TestMethod1() {
         Tutorial tp = new Tutorial();
         Assert.AreEqual(tp.Name, "Continuous Integration");
      }
   }
}

Step 12− Visual Studioでテストを実行して、機能することを確認しましょう。Visual Studioで、メニューオプションを選択しますTest → Run → All Tests

テストを実行すると、VisualStudioの左側でテストが正常に実行されたことがわかります。

TeamCity内での継続的テストの有効化–すべてのテストケースが整ったので、これらをTeamCityサーバーに統合します。

Step 13−このために、プロジェクト構成でビルドステップを作成する必要があります。プロジェクトのホームに移動し、[構成設定の編集]をクリックします。

step 14 −次に、次のスクリーンショットに示すように、[ビルドステップ]→[MSビルド]に移動し、[ビルドステップの追加]をクリックします。

表示される次の画面で、次の値を追加します-

  • VisualStudioテストとしてランナータイプを選択します。

  • オプションのテストステップ名を入力します。

  • テストエンジンのタイプを次のように選択します VSTest

  • テストエンジンのバージョンを次のように選択します VSTest2013

  • テストファイル名で、場所を次のように指定します DemoTest\bin\Debug\DemoTest.dll –覚えておいてください DemoTestユニットテストを含むプロジェクトの名前です。ザ・DemoTest.dll 最初のビルドステップで生成されます。

  • 画面の最後に表示される[保存]をクリックします。

これで、プロジェクトの2つのビルドステップがあります。最初は、アプリケーションコードとテストプロジェクトをビルドするビルドステップです。そして、次はテストケースを実行するために使用されます。

Step 15−ビルドプロセス全体をトリガーできるように、Gitですべてのコードをチェックインするときが来ました。唯一の違いは今回です、あなたは実行する必要がありますgit add そして git commit からのコマンド Demo parent folder 次のスクリーンショットに示すように。

ビルドがトリガーされると、テストに合格したことを示す初期出力が表示されます。

Step 16 − [合格したテストの結果]をクリックして[テスト]タブに移動すると、UnitTest1が実行され、合格したことがわかります。