Sürekli Entegrasyon - Test
Sürekli Entegrasyonun temel özelliklerinden biri, on-going testingCI sunucusu tarafından oluşturulan tüm kodu tutar. CI Sunucusu tarafından bir derleme gerçekleştirildikten sonra, gerekli kodun test edilmesini sağlamak için test senaryolarının yerinde olduğundan emin olunmalıdır. Her bir CI sunucusu, sistemin bir parçası olarak birim test durumlarını çalıştırma yeteneğine sahiptir.CI suite. İçinde.Netbirim testi, cihaza yerleşik bir özelliktir. .Net framework ve aynı şey CI Sunucusuna da dahil edilebilir.
Bu bölüm, bir test durumunu nasıl tanımlayabileceğimizi görecek. .Netve derleme tamamlandıktan sonra TeamCity sunucumuzun bu test durumunu çalıştırmasına izin verin. Bunun için öncelikle örnek projemiz için tanımlanmış bir birim testimiz olduğundan emin olmamız gerekiyor.
Bunu yapmak için sonraki adımları son derece dikkatli izlemeliyiz.
Step 1- Birim Testimizde kullanılacak olan çözümümüze yeni bir sınıf ekleyelim. Bu sınıf, "Sürekli Entegrasyon" dizesini tutacak bir ad değişkenine sahip olacaktır. Bu dizi web sayfasında görüntülenecektir. Basit Proje'ye sağ tıklayın ve menü seçeneğini seçinAdd → Class.
Step 2 - Sınıfa bir ad verin Tutorial.cs ve ekranın altındaki Ekle düğmesini tıklayın.
Step 3- Tutorial.cs dosyasını açın ve içine aşağıdaki kodu ekleyin. Bu kod sadece adında bir dize oluştururNameve Oluşturucu'da adı bir dize değerine atayın 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 - Değişikliği yapalım Demo.aspx.csBu yeni sınıfı kullanmak için dosya. Bu dosyadaki kodu aşağıdaki kodla güncelleyin. Dolayısıyla bu kod şimdi yukarıda oluşturulan sınıfın yeni bir örneğini oluşturacaktır.
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 - Bizim demo.aspx dosya, şimdi referans verelim tp.Name değişken, içinde oluşturulan aspx.cs dosya.
<%@ 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>
Kodumuzun bu değişikliklerle sorunsuz çalışmasını sağlamak için kodu Visual Studio'da çalıştırabilirsiniz. Derleme tamamlandığında aşağıdaki çıktıyı almalısınız.
Step 6- Şimdi Unit testlerimizi projeye ekleme zamanı. Sağ tıklayınSolution ve menü seçeneğini seçin Add → New Project.
Step 7 - Şuraya git Test ve sağ tarafta, seçin Unit Test Project. Olarak bir isim verinDemoTest ve ardından Tamam'ı tıklayın.
Step 8 - senin içinde Demo Test projectBasit projeye ve gerekli olana bir referans eklemeniz gerekir. testing assemblies. Projeye sağ tıklayın ve menü seçeneğini seçinAdd Reference.
Step 9 - Açılan sonraki ekranda Projeler'e gidin, seçin Simple Reference ve Tamam'ı tıklayın.
Step 10 - Tıklayın Add Reference tekrar, Montajlara gidin ve yazın WebArama kutusunda. Sonra bir referans ekleyinSystem.Web.
Step 11 - içinde Unit Test file, aşağıdaki kodu ekleyin. Bu kod, Tutorial sınıfının bir dize adı değişkenine sahip olmasını sağlayacaktır. Ayrıca, Adın "Sürekli Entegrasyon" değerine eşit olması gerektiği gerçeğini de ortaya koyacaktır. Bu bizim basit Test durumumuz olacak.
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- Şimdi çalıştığından emin olmak için testimizi Visual Studio'da çalıştıralım. Visual Studio'da menü seçeneğini seçinTest → Run → All Tests.
Testi çalıştırdıktan sonra, Visual Studio'nun sol tarafında Testin başarıyla çalıştırıldığını göreceksiniz.
TeamCity'de Sürekli Testi Etkinleştirme - Artık tüm test durumları yerinde olduğuna göre, bunları Team City sunucumuza entegre etmenin zamanı geldi.
Step 13- Bunun için Proje konfigürasyonumuzda bir inşa adımı oluşturmamız gerekiyor. Proje ana sayfanıza gidin ve Yapılandırma Ayarlarını Düzenle'yi tıklayın.
step 14 - Ardından, Build Step → MS Build'a gidin ve aşağıdaki ekran görüntüsünde gösterildiği gibi Add build step seçeneğini tıklayın.
Açılan sonraki ekranda aşağıdaki değerleri ekleyin -
Çalıştırıcı türünü Visual Studio Testleri olarak seçin.
İsteğe bağlı bir Test adımı adı girin.
Test Motoru türünü şu şekilde seçin: VSTest.
Test Motoru sürümünü şu şekilde seçin: VSTest2013.
Test dosyaları adında konumu şu şekilde girin: DemoTest\bin\Debug\DemoTest.dll - Bunu hatırla DemoTestBirim Testlerimizi içeren projemizin adıdır. DemoTest.dll ilk oluşturma adımımız tarafından oluşturulacaktır.
Ekranın sonunda görünecek olan Kaydet'i tıklayın.
Şimdi projeniz için 2 inşa adımınız olacak. İlki, uygulama kodunuzu ve test projenizi oluşturacak olan Oluşturma adımıdır. Ve sonraki, test durumlarınızı çalıştırmak için kullanılacaktır.
Step 15- Artık tüm kodunuzu Git'te kontrol etme zamanı, böylece tüm oluşturma süreci tetiklenebilir. Bu sefer tek fark,git add ve git commit gelen komut Demo parent folder aşağıdaki ekran görüntüsünde gösterildiği gibi.
Şimdi yapı tetiklendiğinde, testin geçtiğini söyleyen bir ilk çıktı göreceksiniz.
Step 16 - Test geçti sonucuna tıklarsanız ve Test sekmesine giderseniz, şimdi UnitTest1'in yürütüldüğünü ve geçtiğini göreceksiniz.