繁体   English   中英

单元测试您的mvc3应用程序的步骤?

[英]steps to unit test your mvc3 application?

我正在使用asp.net mvc3构建我的网站。 我有以下几层。

控制器->服务->存储库

我刚刚开始我的项目,那里什么都没有。 我首先从界面开始。

public interface IRepository<T>
{
    T Get(int id);
    void Save(T item);
    void Delete(int id);
}


public interface IUserRepository : IRepository<User>
{
    User GetUserByLogin(UserLoginViewModel userLogin);
}

在这一点上,我应该首先开始编写单元测试或实现接口,编写具体的存储库方法,然后根据所编写的方法进行单元测试。

我很困惑,不确定应该先走哪一步。

正如我在另一个问题中指出的那样,理想情况下,您是由内而外编写测试,定义外部对象所需的依赖项并进行模拟。 这使您可以使用不错的API来完成依赖关系的接口。

因此,在此示例中,您将在编写用于用户控制器的测试时创建IUserRepository接口。 然后,创建一些类来实现此接口,并开始为存储库实现编写测试。

另一个选择(我更喜欢)-通过垂直切片迭代实现您的系统:

  1. 您为控制器编写一些测试
  2. 您确定控制器需要存储库功能(例如Save
  3. 您将该功能添加到存储库界面
  4. 您可以模拟此接口以进行控制器测试,并使其通过
  5. 您为存储库实现的Save方法编写测试,并使其通过
  6. 至此,所有切片均已测试并正常工作。 您返回到步骤1。

BTW存储库的单元测试很耗时,并且会给您带来一点好处,因为存储库中通常没有太多逻辑。 我宁愿进行验收测试,验收测试可以应用所有系统并证明已实现该功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM