none
请问这样写单元测试规范吗? RRS feed

  • 问题

  • 这是一个新增文章的单元测试:    
       [TestMethod()]
            public void AddTest()
            {

                using (TransactionScope scope = new TransactionScope())
                {
                    ArticleBll target = new ArticleBll();
                    int count = target.GetArticles().Count + 1;
                    DataEntity.KaKuDBDataSet.ArticleRow addRow = target.CreateNewArticleRow();
                    Assert.IsNotNull(addRow);
                    addRow.title = "测试文章标题";
                    addRow.classId = 1;
                    addRow.body = "文章内容";
                    addRow.updateTime = System.DateTime.Now;
                    target.Add(addRow);
                    Assert.AreEqual(count, target.GetArticles().Count);
                }
            }
    拒绝垃圾代码
    2009年10月21日 2:46

答案

  • 这种测试代码应该不完善啊。
    分边界,拆分case,然后分别测试。
    你这个是仅仅测试了添加成功的情况,
    要保证代码的覆盖比率。
    还要代码测试增加文章失败的代码。
    比如类别不存在,标题过长等等。
    保证覆盖率达到一个数字,比如80%才能算是完备。

    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    欢迎访问老徐的中文技术博客:Welcome to My Chinese Technical Blog
    欢迎访问微软WCF中文技术论坛:Welcome to Microsoft Chinese WCF Forum
    欢迎访问微软WCF英文技术论坛:Welcome to Microsoft English WCF Forum
    2009年10月21日 7:42
    版主

全部回复