加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 单元/集成测试,它们应该是多么精细?

发布时间:2020-12-16 06:51:14 所属栏目:asp.Net 来源:网络整理
导读:我正在使用NUnit / Watin测试我的ASP.Net Web Forms应用程序的UI.我理解围绕TDD,单元测试,集成测试等的高级概念,但直到现在还没有太多机会将它们使用. 因此,当我在数据输入表单上测试验证逻辑时,我是否应该编写一个触发每个验证错误的测试(即需要字段x),或者
我正在使用NUnit / Watin测试我的ASP.Net Web Forms应用程序的UI.我理解围绕TDD,单元测试,集成测试等的高级概念,但直到现在还没有太多机会将它们使用.

因此,当我在数据输入表单上测试验证逻辑时,我是否应该编写一个触发每个验证错误的测试(即需要字段x),或者对每个应该抛出的验证错误进行单独测试通过表格.这只是一个样式问题,还是有正确的理由来编写几个测试而不是一个能够验证我的验证逻辑的所有可能组合的测试?

Psuedo代码:

[Test]
    public void Validation()
    {
       //Do some stuff to test that username is required.
       Assert.AreEqual(true,ie.ContainsText("Username is required.");

       //Do some stuff to test that passwword is required.
       Assert.AreEqual(true,ie.ContainsText("Password is required.");
    }

[Test]
public void ValidateUserName()
{
   //Do some stuff to test that username is required.
   Assert.AreEqual(true,ie.ContainsText("Username is required.");
}

[Test]
public void ValidatePassword()
{
   //Do some stuff to test that passwword is required.
   Assert.AreEqual(true,ie.ContainsText("Password is required.");
}

解决方法

我会倾向于每次验证一次测试:

>如果您完全破坏验证,则两次测试失败,因此您立即知道您已经破坏的所有内容.如果它们处于相同的测试中,则第一次失败将掩盖第二次失败,直到第一次失败为止.
>一旦你破坏了任何东西,你就会得到一个关于失败方法名称中究竟是什么的描述.许多单元测试GUI会在每次失败的测试旁边为您提供一些红色交通灯,这些将自然地突出显示并描述您的所有错误.

话虽如此,重要的是你要测试 – 特定测试出现在一个类中是一个小细节……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读