51Testing软件测试论坛
标题:
用VSTS进行单元测试
[打印本页]
作者:
favorya
时间:
2010-3-11 14:24
标题:
用VSTS进行单元测试
这是看了一个视频后的,学习过程记录。
使用环境:vs2008测试环境
1.首先,导入待测试的源代码(附件中的源文件),源代码是简单的关于bank的类。[attach]60333[/attach]
2.open导入的项目,在class1.cs文件中,对Debit()方法进行单元测试。
(啊!~~不能上传图片呀)
那我就简单的记录一下啦:
找到需要测试的debit方法,右菜,选择“创建单元测试”,进入对话框。
选择要测试的方法(默认是选择的),然后再选择“创建新的Visual c#测试项目”,然后输入项目名TestProject1。
在测试项目TestProject1下,生成BankAccountTest.cs文件
找到public void DebitTest()方法
修改其内容为如下:
string customerName = "Mr. Bryan Walton"; // TODO: 初始化为适当的值
double balance = 11.99; // TODO: 初始化为适当的值
BankAccount target = new BankAccount(customerName, balance); // TODO: 初始化为适当的值
double amount = 11.22; // TODO: 初始化为适当的值
target.Credit(amount);
// Assert.Inconclusive("无法验证不返回值的方法。");
//判断预期值和实际值是否一致,允许的偏移值为0.05
Assert.AreEqual(System.Convert.ToDouble(0.77), target.Balance, 0.05);
2.访问私有方法或私有属性
测试GetAccountType方法
同上,点击创建单元测试,但此时不再创建新的测试项目,而是选择已有的测试项目TestProject1。
则在BankAccountTest.cs文件中,出现一个新方法 public void GetAccountTypeTest(),同样修改其方法内容:
public void GetAccountTypeTest()
{
PrivateType type=new PrivateType(typeof(BankAccount));
PrivateObject param0 = new PrivateObject(new BankAccount("Mr. Bryan Walton", 10), type); // TODO: 初始化为适当的值
BankAccount_Accessor target = new BankAccount_Accessor(param0); // TODO: 初始化为适当的值
BankAccount_Accessor.accountType actual;
actual = target.GetAccountType;
//Assert.Inconclusive("验证此测试方法的正确性。");
/*Assert.AreEqual 方法 (Object, Object, String)
验证指定的两个对象是否相等。如果两个对象不相等,则断言失败。如果断言失败,将显示一则消息。
参数
expected
要比较的第一个对象。期待值。
actual
要比较的第二个对象。实际生成的对象。
message
断言失败时显示的消息。在单元测试结果中可以看到此消息。
*/
Assert.AreEqual(actual,new BankAccount_Accessor.accountType(),"BankAccount.GetAccountType was not set correctly");
}
3.选择主菜单“测试”-“窗口”-“测试列表编辑器”,勾选DebitTest(),GetAccountTypeTest()方法,点击“运行选中的测试”按钮,即可在测试结果中查看结论
[
本帖最后由 favorya 于 2010-3-11 14:46 编辑
]
作者:
雅馨
时间:
2010-3-11 16:31
标题:
谢谢
lz你好,可以把视频的网址说一下么?
作者:
favorya
时间:
2010-3-12 09:27
我是本机上的,我搜了下,这个地址可以
http://www.so138.com/sov/da9ed56 ... -e50fdd3bad60.xhtml
作者:
illbs
时间:
2010-3-12 11:10
谢谢楼主。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2