使用TestDriven搭建测试环境
来源:互联网 发布:考研没动力怎么办知乎 编辑:程序博客网 时间:2024/05/17 07:08
1. 前言
最近,在做一个简单的项目,想趁着这段时间好好整理下思路,建立起自己的一套体系来。没有体系的乱做,实在是效率底下又学不到系统的东西。这里对最近搭建测试环境做了一点总结。
考虑使用TestDriven是因为,看《设计模式》的时候,作者提到了他的项目里使用的是TestDriven,因此就从TestDriven着手。
话说高手都选择了TestDriven,那么自然是个NB的东西,查阅资料一番,果然是测试神器。关于其前身今世,这里就不细说了,直说一句。TestDriven集成了各家测试工具,但不是简单的集成,它做到了嵌入IDE。
2. 建立测试类库
2.1. 关于类库引用
搭建测试环境首先是要建立一个测试类库,引用被测试的类库,还需要引用nunit.framework。需要说明的是请看Tip1 和Tip2。
Tip1:nunit.framework在TestDriven安装目录里边,X:\ProgramFiles (x86)\TestDriven.NET 3\NUnit\2.6\framework 其中X及数字版本为,当前计算机的系统盘和安装的TestDriven版本。
Tip2:这里只需要一个类库就可以测试了,因为TestDriven是自动的把结果output到输出框的。
2.2. 关于NUnit
关于这个NUnit,是第三方的测试框架,用于提供完整的测试框架,提供了断言、测试方法的组装等。在说明使用方法前,需要知道NUnit类似.NET自带的测试框架,提供了诸多的标签对类和方法进行标识。简单的使用如下:
1) TestFixture
用于标识类,说明这是个测试的集合,有了这个标签才可以使用其他标签。换句话说这相当于所有标签运行的一个容器。
2) TestFixtureSetUp
用于标识方法,被标识的方法会在一个TestFixture被测试的开始时先运行。可以理解为准备测试的工序。
3) Test
用于标识方法,被标识的方法为测试的主体方法,在这里写主要的测试用例。
4) TearDown
用于标识方法,被标识的方法会在一个TestFixtrue被执行完毕后执行。
5) 断言 Assert
用于判断两个object是否相等。如果判断失败,测试自动终止,并提示信息。一般的测试用例用该工具进行结果的判定。
2.3. 写测试类
这里贴上我的一个例子:
[NUnit.Framework.TestFixture]//标签标识这是一个完整的测试类 public class StreetDALTest { private StreetDAL_street; [TestFixtureSetUp]//标签标识这是一个测试的准备方法,测执行测试前执行 public voidTestFixtureSetup() { ISession session = newNHibernateHelper().GetSession(); _street = new StreetDAL(session); } [NUnit.Framework.Test]//标签标识这是一个测试方法,即测试的主体方法 public voidGetStreetByIdTest() { //Assert.AreEqual(1, 2); //断言,这里错误后不执行下面的所有内容 var street1 = new T_Street { StreetName = "测试路", DistrictName = "测试" }; _street.CreateStreet(street1); } [TestCase("a参数")]//这是一个带参数的测试 public void TestCase(string a) { } [TearDown]//标签标识这是一个测试结束方法,每个test方法执行完后都会执行这个方法 public voidAfterTest() { }
3. 执行测试
建立好了测试的类库和方法之后就可以执行测试了,区别与微软的测试类,TestDriven的伟大之处在于,它支持右键点击测试。
在类中右键,选择Run Test,即可。下面具体说明下这个右键菜单。
3.1. Run Test(s)
这个功能会自动执行当前的TestFixtrue下的所有测试用例,并将结果输出到 输出面板。
3.2. Test With
这个功能是TestDriven的高级方法,其下有5个子功能,下面做简单说明。
1. Debugger
该模式即,调式模式,允许用户设置断电调式。
2. NCover
该模式调用NCover工具,分析测试用例的覆盖率。
3. Coverage
该模式,也是一个分析代码覆盖率的工具,但是显示在output窗口,不打开另外的窗体。
4. Performance
该功能是分析当前的代码执行效率,以下是部分截图
5. In-Proc
这个模式,不是十分的理解,网上有说是在一个Process中执行。具体的功能不是很了解,希望有人能解答下。
4. TestDriven的其他功能
TestDriven的测试功能显然不是这么简单的,对于TDD模式的开发,一大堆的测试用例,如果都是上面那样测试,那显然是多么的繁琐了,所以只要在类库上右击便可以看到对于整个类库的测试功能,这里不做累赘的说明。
以上是本人在搭建测试环境时,对TestDriven的简单了解。如有不足之处请大家指出探讨学习。
5. 参考资料:
1.官网及下载:
http://www.testdriven.net/
2.TestDriven.Net常用属性介绍及使用
http://www.cnblogs.com/kingjiong/archive/2010/02/26/1674131.html
3.使用TestDriven
http://wenku.baidu.com/view/9fc8a46ea98271fe910ef9cc.html
- 使用TestDriven搭建测试环境
- 使用TestDriven.Net
- 使用TestDriven.Net
- TestFixture Test TestDriven 测试驱动
- TestDriven.NET测试开发工具
- TestDriven
- libgdx的使用--环境搭建测试
- 使用Rancher搭建K8S测试环境
- 如何使用docker搭建oracle测试环境
- 使用TestDriven.Net做单元测试
- 使用Rspec进行rails测试详解1-搭建测试环境
- 搭建mocha测试环境并使用selenium进行测试
- 使用VS2005+TCL搭建集成测试环境测试浏览器接口
- 方便你的测试(TestDriven.NET)
- 搭建jprofiler测试环境
- 搭建jprofiler测试环境
- DTM测试环境搭建
- 搭建LAMP测试环境
- weblogic忘记密码
- web 中开启线程
- windows环境下sublime text2编译coffeescript代码
- 当他们说这些话时,爱就已经消失不在_伤感日志
- python 计算md5
- 使用TestDriven搭建测试环境
- Eclipse中运行Java程序出现乱码问题
- 高速模数转换器(ADC)的INL/DNL测量
- flex跨域问题 weblogic tomcat
- 交换机内部交换方式
- C++你最好不要做的
- 无线与有线共存上网----办公室必用,笔者亲测,网上不明不白,乱七八糟的信息太多
- 一体化大威海的战略抉择
- 一年又一年