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