VS2013 单元测试(使用VS2013自带的单元测试)
2014-08-24 10:02
417 查看
本文是官方文档的学习笔记,官方文档在这里。
1、打开VS3013,随便建一个解决方案,比如叫:LearnUnitTest,建一个类库项目LearnUnitTest_Bank,该项目中添加一个BankAccount类,这个类及类中的方法就是我们要测试的对象。
2、给LearnUnitTest添加一个测试项目:在解决方案名称上右键=》添加=》新建项目=》VisualC#=》测试=》单元测试项目,项目名称叫LearnUnitTest_BankTest,将LearnUnitTest_Bank添加为LearnUnitTest_BankTest的引用项目,将测试项目LearnUnitTest_BankTest里默认生成的类重命名为BankAccountTest。
对于BankAccountTest类,类上有注解TestClass,方法上有注解TestMethod。可以在这类文件里添加其他类和方法,供测试方法使用。
首个测试:
3、现在我们测试BankAccount类的Debit方法,我们预先确定此次测试要检查如下方面:
a、如果信用余额(credit amount)比账户余额大,该方法就抛异常ArgumentOutOfRangeException
b、如果信用余额小于0也抛异常
c、如果a和b都满足,该方法会从账户余额里减去amount(函数参数)
注意:由a、b、c可以看邮BankAccount类中的Debit方法最后一行应该是-=,而不是+=——当然了,这个是故意留下的bug,而不是微软的失误,就等着在这次测试中把它测出来,然后修正掉。
在测试类里添加如下方法测试Debit方法:
View Code
最终我们让测试代码变得更加强健,但更重要的是,在这个过程中,我也们也改善了被测试的代码——这才是测试的最终目的。
微软接下来讲的是测试驱动开发。链接如下:
测试驱动开发
1、打开VS3013,随便建一个解决方案,比如叫:LearnUnitTest,建一个类库项目LearnUnitTest_Bank,该项目中添加一个BankAccount类,这个类及类中的方法就是我们要测试的对象。
2、给LearnUnitTest添加一个测试项目:在解决方案名称上右键=》添加=》新建项目=》VisualC#=》测试=》单元测试项目,项目名称叫LearnUnitTest_BankTest,将LearnUnitTest_Bank添加为LearnUnitTest_BankTest的引用项目,将测试项目LearnUnitTest_BankTest里默认生成的类重命名为BankAccountTest。
对于BankAccountTest类,类上有注解TestClass,方法上有注解TestMethod。可以在这类文件里添加其他类和方法,供测试方法使用。
首个测试:
3、现在我们测试BankAccount类的Debit方法,我们预先确定此次测试要检查如下方面:
a、如果信用余额(credit amount)比账户余额大,该方法就抛异常ArgumentOutOfRangeException
b、如果信用余额小于0也抛异常
c、如果a和b都满足,该方法会从账户余额里减去amount(函数参数)
注意:由a、b、c可以看邮BankAccount类中的Debit方法最后一行应该是-=,而不是+=——当然了,这个是故意留下的bug,而不是微软的失误,就等着在这次测试中把它测出来,然后修正掉。
在测试类里添加如下方法测试Debit方法:
[TestMethod] public void Debit_WhenAmountIsGreaterThanBalance_ShouldThrowArgumentOutOfRange() { // arrange double beginningBalance = 11.99; double debitAmount = 20.0; BankAccount account = new BankAccount("Mr. Bryan Walton", beginningBalance);\ // act try { account.Debit(debitAmount); } catch (ArgumentOutOfRangeException e) { // assert StringAssert.Contains(e.Message, BankAccount. DebitAmountExceedsBalanceMessage); return; } Assert.Fail("No exception was thrown.") }
View Code
最终我们让测试代码变得更加强健,但更重要的是,在这个过程中,我也们也改善了被测试的代码——这才是测试的最终目的。
微软接下来讲的是测试驱动开发。链接如下:
测试驱动开发
相关文章推荐
- VS2013 单元测试(使用VS2013自带的单元测试)
- VS2013 单元测试(使用VS2013自带的单元测试)
- 使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码
- asp.net VS2013自带的数据库SQL Server Express LocalDB使用介绍
- VS2013使用单元测试
- VS2015 使用微软自带的单元测试框架测试本地C++代码的注意事项
- vs2013使用QT自带的openGL
- VS2013远程调试----使用自带工具+附加进程
- 使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码
- 使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码
- 使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码
- VS2013自带的数据库SQL Server Express LocalDB使用介绍
- 如何使用VS2013本地C++单元测试框架
- VS2013使用自带的InstallShield Limited Edition Project 打包项目应用程序
- 使用VS2008自带的单元测试组件来测试纯c++程序
- 【.NET程序性能分析】使用VS自带的工具分析.NET程序的性能
- 【流媒體】live555—VS2010/VS2013 下live555编译、使用及测试
- 使用VS 自带的打包工具,制作winform安装项目
- Windows 8,VS 2012,SQL Server 2012,Office 2013使用体验
- 使用VS.Net自带打包工具打包Asp.Net Web应用程序