📅  最后修改于: 2020-12-07 05:16:44             🧑  作者: Mango
持续集成的关键功能之一是确保正在进行的测试包含CI服务器生成的所有代码。 CI服务器执行构建后,必须确保已建立测试用例以测试所需的代码。每个CI服务器都可以运行单元测试用例作为CI套件的一部分。在.Net中,单元测试是.Net框架中内置的一项功能,同样,也可以将其合并到CI Server中。
本章将介绍如何在.Net中定义测试用例,然后让我们的TeamCity服务器在构建完成后运行该测试用例。为此,我们首先需要确保为示例项目定义了单元测试。
为此,我们必须极其谨慎地遵循后续步骤。
步骤1-让我们向解决方案中添加一个新类,该类将在我们的单元测试中使用。此类将具有一个名称变量,该变量将包含字符串“ Continuous Integration”。该字符串将显示在网页上。右键单击简单项目,然后选择菜单选项添加→类。
步骤2-给该类命名为Tutorial.cs ,然后单击屏幕底部的添加按钮。
步骤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";
}
}
}
步骤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";
}
}
}
第5步-在我们的demo.aspx文件,现在让我们引用tp.Name变量,这是在aspx.cs文件中创建。
TutorialsPoint1
只是为了确保我们的代码可以很好地应对这些更改,您可以在Visual Studio中运行代码。编译完成后,您应该获得以下输出。
步骤6-现在是时候将我们的单元测试添加到项目中了。右键单击解决方案,然后选择菜单选项添加→新建项目。
步骤7-导航到“测试”,然后在右侧,选择“单元测试项目” 。命名为DemoTest ,然后单击“确定”。
步骤8-在您的Demo Test项目中,您需要添加对Simple项目和必要的测试程序集的引用。右键单击项目,然后选择菜单选项添加参考。
步骤9-在出现的下一个屏幕中,转到“项目”,选择“简单引用” ,然后单击“确定”。
步骤10-再次单击“添加引用” ,转到“程序集”,然后在“搜索”框中键入“ Web ”。然后添加System.Web的引用。
步骤11-在单元测试文件中,添加以下代码。此代码将确保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");
}
}
}
步骤12-现在让我们在Visual Studio中运行测试以确保它可以工作。在Visual Studio中,选择菜单选项测试→运行→所有测试。
运行测试后,您将在Visual Studio的左侧看到测试成功运行。
在TeamCity中启用连续测试–既然所有测试用例均已准备就绪,是时候将其集成到我们的Team City服务器中了。
步骤13-为此,我们需要在项目配置中创建一个构建步骤。转到项目主页,然后单击“编辑配置设置”。
步骤14-然后转到构建步骤→MS Build,然后单击添加构建步骤,如以下屏幕截图所示。
在出现的下一个屏幕中,添加以下值-
选择运行器类型作为Visual Studio测试。
输入可选的测试步骤名称。
选择测试引擎类型作为VSTest 。
选择测试引擎版本为VSTest2013 。
在“测试文件”名称中,提供以下位置: DemoTest \ bin \ Debug \ DemoTest.dll –请记住, DemoTest是包含单元测试的项目名称。 DemoTest.dll将由我们的第一个构建步骤生成。
单击“保存”,它将在屏幕末尾显示。
现在,您将有2个构建项目的步骤。第一个是“构建”步骤,它将构建您的应用程序代码和测试项目。下一个将用于运行您的测试用例。
步骤15-现在是时候在Git中检入所有代码,以便触发整个构建过程了。唯一的区别是这一次,您需要从Demo父文件夹运行git add和git commit命令,如以下屏幕截图所示。
现在,当触发构建时,您将看到一个初始输出,该输出表示测试已通过。
步骤16-如果单击通过测试的结果并转到“测试”选项卡,您现在将看到UnitTest1已执行并且已通过。