当前位置: 首页 > news >正文

企业建设H5响应式网站的5大好处中国新闻社官方网站

企业建设H5响应式网站的5大好处,中国新闻社官方网站,网站建设江苏百拓,网络营销就是seoMETest是一个用于测试C#代码的单元测试框架。单元测试是一种软件测试方法,用于验证代码的各个单元(函数、方法、类等)是否按照预期工作。METest提供了一种简单而强大的方式来编写和运行单元测试。 TestMethod:这是一个特性&#…

METest是一个用于测试C#代码的单元测试框架。单元测试是一种软件测试方法,用于验证代码的各个单元(函数、方法、类等)是否按照预期工作。METest提供了一种简单而强大的方式来编写和运行单元测试。

  • TestMethod:这是一个特性,用于标记测试方法。
  • Assert:这是一个断言类,用于验证测试结果是否符合预期。
  • DataTestMethod属性:用于标记一个方法作为参数化测试方法。
  • DataRow属性:用于提供参数值,每个参数值对应一个测试用例。

使用单元测试测试

点击VS项目解决方案>> MSTest单元测试项目

建好单元项目引入需要测试的项目

AAA(准备、执行、断言)模式

是编写待测试方法的单元测试的常用方法:

  • 准备(Arrange),单元测试方法的准备部分初始化对象并设置传递给待测试方法的数据;
  • 执行(Act),执行部分调用具有准备参数的待测试方法;
  • 断言(Assert),断言部分验证待测试方法的执行行为与预期相同。
[TestMethod()]
public void GetTriangle_Test()
{// arrange  string[] sideArr = { "5", "5", "5" }; // 准备传给待测试方法的数据string expected = "等边三角形";// act  var actual = UnitTestClass.GetTriangle(sideArr); // 调用测试方法// assert  Assert.AreEqual(expected, actual); // 验证待测试方法的执行结果是否与预期相同
}

参数化测试

同样的逻辑,根据输入参数不同给出不同的结果。因为只是参数不同,所以并不希望把测试方法写多遍,但是又希望对每个参数的测试成为一个独立的测试用例。举例说,假定我有一个数学计算的方法是把两个整数相加求和,我希望证明这个方法对于任意两个数都是通过的。

[DataTestMethod] //注明这个方法是参数化测试方法;
[DataRow("0508")] //一组参数,参数可以是任何值;但是一定要和参数的测试方法匹配。
[DataRow("0509")]
[DataRow("0005")]
public void GetFlag(string name)
{//act 执行部分 调用具有准备参数的待测方法var r = fun.Flag("D", "R", name);//assert 断言部分 验证预期和实际结果是否相同Assert.AreEqual(name, r);
}

这里有一个要点,参数的个数设置多少个,因为测试的方法适合三个参数,所以大部分的人都认为是三个参数就够了,其实不是,应该是四个参数,还有一个是结果值。看上面的代码,我们最后断言的标准是期望值和实际值进行对比,而期望值是来自参数组

测试示例1

using Autofac;
using MerryDllFramework;
using Microsoft.VisualStudio.TestTools.UnitTesting;namespace MsTestMerryDLL
{[TestClass]public class UnitTest1{Functional fun;private static IContainer Container{set;get;}[ClassInitialize]public static void ClassInitialize(TestContext testContext){// 在测试类初始化之前进行调用的方法}[TestInitialize]public void TestInitialize(){// 在每个测试方法执行之前进行调用的方法ContainerBuilder builder = new ContainerBuilder();builder.RegisterType<Functional>().As<Functional>().SingleInstance();Container = builder.Build();fun = Container.Resolve<Functional>();var res = fun.USB("D", 1);Assert.AreEqual(expected: "True", res);}[TestCleanup]public void TestCleanup(){// 在每个测试方法执行之后进行调用的方法var res = fun.USB("D", 0);Assert.AreEqual("True", res);}[DataTestMethod][DataRow("0508")][DataRow("0509")][DataRow("0005")]public void GetFlag(string name){// 测试方法var r = fun.Flag("D", "R", name);Assert.AreEqual(name, r);}}
}
http://www.yayakq.cn/news/203684/

相关文章:

  • 弹簧东莞网站建设如何设置网站根目录
  • 厦门旅游网站建设商务网站建设流程
  • 资兴市网站建设哪个好青海企业网站建设公司
  • 成都装饰网站建设广州哪里能看海
  • 六安网站制作公司价格成都品牌网站建设
  • 浙江人工智能建站系统软件怎么做繁体字网站
  • 湖南好搜网站建设公众号怎么引流推广
  • 如何提高一个网站安卓手机本地视频播放器
  • 子页网站设计怎么做弹幕视频网站
  • 国外著名购物网站排名网站设计制作的服务和质量
  • 宿迁建站网网站模板之家
  • 引蜘蛛网站wordpress页面跳舞
  • 网站初期seo怎么做上海市工商局官网
  • 自助建站软件凡客软件下载
  • 湖南还没有建网站的企业有保障的广州网站建设
  • 门户类网站备案wordpress入门
  • 模块化html5网站开发建网站怎么做
  • 网站每天点击量多少好苏州网站开发公司兴田德润放心
  • 行业网站名称用php做的网站有哪些
  • 百度站长资源网站加载速度慢的原因
  • 烟台市网站建设传奇999发布网新开服
  • 凡客网站设计怎么做谷歌收录的网站
  • 手机端网站建设方案丹阳网站建设报价
  • 国外ui设计网站制作和维系一个网站的费用
  • 有没有可以做各种字体的网站外贸网站建设原则
  • 网站建设的目的只是开展网络营销网站服务器 安全
  • 泰兴市城乡住房建设局网站中国机械工业网
  • 南宁软件优化网站网站建设绩效考核方案
  • 做防水怎么注册网站电子商务网站建设影响因素
  • 网站建设的专业性对搜索引擎营销的影响网站建设的会计分录