Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单元测试示例_C#_Asp.net Mvc_Asp.net Mvc 3_Unit Testing - Fatal编程技术网

C# 单元测试示例

C# 单元测试示例,c#,asp.net-mvc,asp.net-mvc-3,unit-testing,C#,Asp.net Mvc,Asp.net Mvc 3,Unit Testing,我正在努力学习编写单元测试。我遵循存储库模式,为我的控制器创建了一个存储库。Is支持真实和虚假的DBContext,现在我准备开始编写测试。我的问题是我不知道该测试什么 如果控制器的大部分工作是将数据传递给 存储库,然后将结果传递给视图 在我的存储库中,我有如下方法。它们非常简单,是否应该进行测试 我应该测试验证条件吗 最重要的是。你能给我一些asp mvc单元测试的例子吗?我认为像[method]这样的语句列表应该做[任何]可能有用的事情。但我恐怕很难马上想出一些不那么明显的东西。也许有人愿意

我正在努力学习编写单元测试。我遵循存储库模式,为我的控制器创建了一个存储库。Is支持真实和虚假的DBContext,现在我准备开始编写测试。我的问题是我不知道该测试什么

  • 如果控制器的大部分工作是将数据传递给 存储库,然后将结果传递给视图
  • 在我的存储库中,我有如下方法。它们非常简单,是否应该进行测试
  • 我应该测试验证条件吗
  • 最重要的是。你能给我一些asp mvc单元测试的例子吗?我认为像[method]这样的语句列表应该做[任何]可能有用的事情。但我恐怕很难马上想出一些不那么明显的东西。也许有人愿意分享他们的一个测试文件/项目,或者推荐一个值得一看的开源项目

            public virtual void Update(T entity) 
            {
                Db.Attach(entity);
                Db.SaveChanges();
            }
    
            public virtual void Save(T entity)
            {
                Db.Add(entity);
                Db.SaveChanges();
            }
    
            public virtual void Remove(T entity)
            {
                Db.Delete(entity);
                Db.SaveChanges();
            }
    

  • 不幸的是,这个话题太宽泛了,这里无法给出一个简单的答案。谷歌是你的朋友。我在谷歌上搜索了“为c#编写单元测试”,得到了200多万条回复。关于如何以及何时编写单元测试,有许多相互竞争的理念。我建议你研究——从谷歌开始——阅读几种方法,并根据你自己的喜好、编码风格和你试图解决的具体问题来决定哪种方法最合适

  • 如果控制器的大部分工作是将数据传递到存储库,然后将结果传递到视图,那么我是否应该测试控制器
  • 每个定义的控制器只能是模型和视图之间的适配器。因此,它不应处理(即业务规则)信息

    听起来你的控制器没有,这很好。如果您使用的是视图模型,那么只有一件事情会出错:那就是您没有正确处理ModelState(即,如果出现问题,则返回报告)

    所以如果你想测试一下,那就去吧

    在我的存储库中,我有如下方法。它们非常简单,是否应该进行测试

    否。因为您没有验证传入数据是否正确。这些测试只是集成测试,而不是单元测试

    我应该测试验证条件吗

    如果您想确保验证应该验证的内容

    最重要的是。你能给我一些asp mvc单元测试的例子吗?我认为像[method]这样的语句列表应该做[任何]可能有用的事情。但我恐怕很难马上想出一些不那么明显的东西。也许有人愿意分享他们的一个测试文件/项目,或者推荐一个值得一看的开源项目

            public virtual void Update(T entity) 
            {
                Db.Attach(entity);
                Db.SaveChanges();
            }
    
            public virtual void Save(T entity)
            {
                Db.Add(entity);
                Db.SaveChanges();
            }
    
            public virtual void Remove(T entity)
            {
                Db.Delete(entity);
                Db.SaveChanges();
            }
    
    取决于你想测试什么