none
请教如何使用VSTS进行BLL层单元测试 RRS feed

  • 问题

  •  

    刚使用VSTS进行单元测试,现在有个问题,对于BLL层的类应该怎么测试。比如:


            public System.Collections.Generic.IList<Water.Model.Company> GetCompanyByUserName(string userName)
            {
                IList<Company> companies = DataAccess.CreateCompanyDal().GetCompanyByUserName(userName);

                foreach (Company company in companies)
                {
                    company.ParentCompanyName = GetCompanyByCompanyId(company.ParentCompanyId).CompanyName;
                }

                return companies;
            }

     

    使用VSTS生成的测试代码为:

     

     public void GetCompanyByUserNameTest ( )
            {
                CompanyBLL target = new CompanyBLL();

                string userName = null; // TODO: 初始化为适当的值

                System.Collections.Generic.IList<Water.Model.Company> expected = null;
                System.Collections.Generic.IList<Water.Model.Company> actual;

                actual = target.GetCompanyByUserName(userName);

                Assert.AreEqual(expected, actual, "Water.BLL.CompanyBLL.GetCompanyByUserName 未返回所需的值。");
                Assert.Inconclusive("验证此测试方法的正确性。");
            }

     

     

    类似这种应该怎么测,请大家指导,谢谢~

    2007年11月12日 2:40

答案

  •  

    自己先修改测试代码中的

                string userName = null; // TODO: 初始化为适当的值

                 System.Collections.Generic.IList<Water.Model.Company> expected = null;

                ......

                Assert.AreEqual(expected, actual, "Water.BLL.CompanyBLL.GetCompanyByUserName 未返回所需的值。");

               这两句,把 这几个值改成自己期望的值,然后在测试控制台直接运行此测试即可。

    2007年11月14日 8:32
    版主

全部回复

  • 再问下,这些类的测试是不是要考虑使用mock objects 测试了?

    请指教~~~谢谢~

    PS:MSDN到现在怎么还没有一个独立的关于测试的论坛啊,虽然官网上有提到,还是不爽~~

     

    2007年11月12日 6:13
  •  

    自己先修改测试代码中的

                string userName = null; // TODO: 初始化为适当的值

                 System.Collections.Generic.IList<Water.Model.Company> expected = null;

                ......

                Assert.AreEqual(expected, actual, "Water.BLL.CompanyBLL.GetCompanyByUserName 未返回所需的值。");

               这两句,把 这几个值改成自己期望的值,然后在测试控制台直接运行此测试即可。

    2007年11月14日 8:32
    版主