利用TestDriven.net和NUnit进行单元测试(收)
来源:互联网 发布:大量商家退出淘宝 编辑:程序博客网 时间:2024/05/21 06:46
1 准备TestDriven和NUnit 我们可以针对整个测试文件和单个函数进行测试,非常方便。下面主要谈谈TestDriven支持的属性和参数。 using NUnit.Framework; 2.1 [TestFixture] 属性 [TestFixture] //这个类是一个用来执行单元测试的类 public class TestSimpleCalculator { // something } 2.2 [TestFixtureSetUp] 属性 [TestFixture] public class UnitTestDemo { SimpleCalculator myMath; //在所有测试方法运行之前运行 [TestFixtureSetUp] public void InitFixture() { myMath = new SimpleCalculator(); } } 2.3 [TestFixtureTearDown] 属性 [TestFixture] public class UnitTestDemo { SimpleCalculator myMath; //在所有测试方法运行完之后运行 [TestFixtureTearDown] public void InitFixture() { //释放一些资源 myMath.Dispose(); } } 2.4 [SetUp]属性 [TestFixture] public class TestSimpleCalculator { SimpleCalculator myMath; private double a; private double b; // 在任何一个测试方法运行之前运行,可以用来重置一些变量 [SetUp] public void Init() { a = 3.0; b = 5.0; } } 2.5 [TearDown]属性 [TestFixture] public class TestSimpleCalculator { SimpleCalculator myMath; StringBuilder sb; [TestFixtureSetUp] public void InitFixture() { myMath = new SimpleCalculator(); sb = new StringBuilder(); } // 在每一个测试方法运行完了之后都会运行,可以用来清理一些暂存变量 [TearDown] public void Teardown() { sb.Remove( 0, sb.Length ); } } 2.6 [Test]属性 [TestFixture] public class TestSimpleCalculator { SimpleCalculator myMath; private double a; // a = 3.0 private double b; // b = 5.0 // 这是一个测试方法 [Test] public void Add() { Assert.AreEqual( a, 3.0 ); // 返回真 Assert.AreEqual( b, 5.0 );// 返回真 a = myMath.Add( a, b ); Assert.AreEqual(a, 7.0, "The expect result is 7, and the actual result is 8");// 返回假,并且会打印出错误信息 } } 2.7 [ExpectedException(typeof(OneSupportedException))] 属性 [Test] [ExpectedException(typeof(InvalidOperationException))] public void ExpectAnException() { throw new InvalidCastException();// 这个地方抛出了非预期的异常,所以测试方法失败。 } 2.8 [Ignore("name")]属性 [Test] [Ignore("ignored test")] [ExpectedException(typeof(InvalidOperationException))] public void IgnoredTest() { throw new Exception(); // 如果可以运行这个测试方法,那么这个方法不会通过测试,但是现在它已经被忽略掉了。 } 2.9 [Platform("SupportedPlatform")]属性 [Test] [Platform("NET-1.1")] //更多支持的平台请查阅NUnit的文档 public void DotNetOneOneTests() { Assert.AreEqual( "This case run on .Net1.1", "This method will not be executed" ); // 这个测试方法只会运行在.Net1.1的平台下。 } 2.10 [Category("NameOfCategory")]属性 [Test] [Category("Long")] // 这个测试方法属于名字为Long的类别,我们可以在NUnit的GUI中选择是否需要运行这一类别的测试方法,但是TestDriven.net无法使用这个属性。 public void VeryLongTest() { Assert.AreEqual( "This test will consum a very long time", "No, It will be completed in 0.1 seconds"); } 2.11 [Explicit]属性 [Test, Explicit] public void ExplicitTest() { Assert.AreEqual(1, 2); // 这个测试方法会自动地被忽略掉,除非我们在NUnit的GUI中手动选择它或者把鼠标放在它上面,再运行TestDriven.net, 它才会被执行 } 3 总结 |
- 利用TestDriven.net和NUnit进行单元测试
- 利用TestDriven.net和NUnit进行单元测试(收)
- Nunit与TestDriven.NET单元测试的学习
- TestDriven.NET单元测试工具
- 用NUnit进行.Net的单元测试
- 用TestDriven.NET做单元测试和跟踪调试
- 使用TestDriven.Net做单元测试
- 使用NUnit进行单元测试
- 用NUnit进行单元测试
- 使用NUnit进行单元测试
- 利用Nunit进行单元测试 NHibernate在SQL server中建表
- VS.Net单元测试插件TestDriven.NET
- 使用NUnit在.Net编程中进行单元测试
- 使用NUnit在.Net编程中进行单元测试
- 使用NUnit在.Net编程中进行单元测试(转)
- 使用NUnit在.Net编程中进行单元测试
- 使用NUnit在.Net编程中进行单元测试
- 使用NUnit在.Net编程中进行单元测试
- IIS中如何设置二个端口一样的网站
- Effective C#中文版:改善C#程序的50种方法
- struts2 Tag用法
- Linux下动态加载库的实例
- 裁员
- 利用TestDriven.net和NUnit进行单元测试(收)
- JavaScript与C# Windows应用程序交互
- BUGZERO安装配置(一)——TOMCAT5.5安装
- java中常用的匹配正则表达式实例大全
- SQLOLEDB and SQLOLEDB.1
- Spirng Use In Other Times (补充)
- CDirectoryChangeWatcher - ReadDirectoryChangesW all wrapped up
- frameset 的一些使用技巧
- Java正则表达式详解