关于MVC+ioc的单元测试问题

问题描述

我使用的项目结构是:MVC+Repository+unitofwork使用的结构与网上流传的结构差不多,我测试repository时,数据能正常提交,使用页面操作时也可以。但我测试service层时,service层调用了repository来操作数据库,(有的人该批评我说这不是单元测试,先不说这是不是单元测试,先帮我找一下问题所在,谢谢),然后在service层里调用了unitofwork执行了commit操作。但这时候,在service层里执行不出错,但不会保存进数据库,就是说unitofwork执行的数据上下文没有正确执行,也不报任何错。我也不知道到底哪个地方错了。请教有过这方面经验的人帮我解释一下。项目结构可以参考http://www.entlib.net/?p=215这上面的。

解决方案

解决方案二:
我使用的是微软的unity控制反转。单元测试也是用的微软的单元测试工具
解决方案三:
没一个人回答。。。我悲剧了

时间: 2024-10-29 08:49:03

关于MVC+ioc的单元测试问题的相关文章

返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test

原文:返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test[索引页][源码下载] 返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test 作者:webabcd 介绍 asp.net mvc 之 Action Filter, UpdateModel, ModelBinder, Ajax, U

【博文推荐】ASP.NET MVC4+BootStrap实战

本博文出自51CTO博客BruceAndLee博主,有任何问题请进入博主页面互动讨论! 博文地址:http://leelei.blog.51cto.com/856755/1587301 OK,不多说了,看一下Solution的截图 基本上一看就明白了,控制器调用Biz层,Biz层调用DAL层,DAL层进行数据的CURD.Utility是一些公用的类库.ok,为什么程序集的命名都是以Bruce开头呢,因为我在公司的英文名叫这个.废话不多说,我们先看一下页面 我们引入了BootStrap,主要是为了

阿里druid、fastjson、dubbo、RocketMQ被选为2016年度最受欢迎中国开源软件

编者按: 2016年度最受欢迎中国开源软件 TOP 20,阿里巴巴有四个开源软件入选:数据库连接池druid.JSON解析库fastjson.分布式服务框架dubbo.消息中间件RocketMQ. 2016 年度最受欢迎中国开源软件评选结果已出炉.​每年的年底我们都会准备今年的一些软件榜单,我们把这个榜单定义为 "热门" 榜单,或者说是最受欢迎的榜单.我们根据软件在社区里的用户关注度.活跃度.访问量等信息来对"热门"进行量化,从而初选出一个大的列表,然后用户再在这个

MVC使用Spring.Net应用IOC(依赖倒置)学习笔记3_实用技巧

      到现在,我们已经基本搭建起了项目的框架,但是项目中还存在一个问题,就是尽管层与层之间使用了接口进行隔离,但实例化接口的时候,还是引入了接口实现类的依赖,如下面的代码: private IUserService _userService; private IUserService UserService { get { return _userService ?? (_userService = new UserService()); } set { _userService = va

ASP.NET MVC中使用Unity Ioc Container

在MVC中,控制器依赖于模型对数据进行处理,也可以说执行业务逻辑.我们可以使用依赖注入(DI)在控制层分离模型层,这边要用到Repository模式,在领域驱动设计(DDD)中,Repository翻译为仓储,顾名思义,就是储存东西的仓库,可以理解为一种用来封装存储,读取和查找行为的机制,它模拟了一个对象集合.使用依赖注入(DI)就是对Repository进行管理,用于解决它与控制器之间耦合度问题,下面我们一步一步做一个简单示例. 安装Unity 首先我们需要新建一个UnityMVCDemo项目

ASP.NET MVC的Razor引擎:IoC在View激活过程中的应用

在<ASP.NET MVC的Razor引擎:RazorView>介绍BuildManagerCompiledView的时候,我们谈到默认使用的ViewPageActivator使用当前注册的DependencyResolver来完成对目标View的激活,这意味着我们可以通过注册自定义DependencyResolver的方式实现基于IoC的View激活.本篇文章中我们将演示如何通过自定义View的方式实现与IoC框架Ninject的集成. 我们定义了一个具有如下定义的NinjectDepend

基于MVC框架+IOC+Rhino Mocks的一个简单项目介绍

现在不管是企业还是科研机构,几乎所有的项目开发都是遵循一定的框架,将经过实践证明过的开发 框架和开发模式借鉴使用无可厚非,但难免会遇到某些功能实现或者基于某种考虑当前的开发框架无法达 到这样的目的.这时我们就会考虑不同技术的融合. 我们现在正在开发的平台项目正是借鉴了这样的思想,我们的平台项目首先整体的开发框架使用了 AspNet MVC框架:其次数据访问层套用了CommunityServer的开发框架,其中融合了Provider模式和传统 的三层架构:而在业务逻辑层处理中,为了保证代码的可重用

Asp.net MVC示例项目“Suteki.Shop”分析之IOC(控制反转)

在Suteki.Shop中,未使用微软自已的Unity框架来实现IOC,而是使用了大名鼎鼎Castle Windsor. 因为引用了Windsor,就有必要简要介绍一下.而我的理解,这个IOC容器(Container)包括下 面几个重要概念: 容器(Container):Windsor是一个反转控制容器.它创建在一个微内核的基 础之上,这个微内核能够扫描类并且试图找到这些类用到哪些对象引用.对象依赖,然后把这些依赖信 息提供给类使用. 组件(Component):也就是我们通常所说的业务逻辑单元

对ASP.NET MVC项目中的视图做单元测试

关于视图的单元测试 说到ASP.NET MVC,我们似乎始终都在关注对于Controller的测试--虽然Stephen Walther也写过如 何脱离Web Server对View进行单元测试,但是他的方法可看而不可用.复杂的构造和预备,以及对生成的 HTML字符串作判断--这真是在对视图做单元测试吗?仔细分析他的代码可以发现,这其实是在对 ViewEngine做单元测试.而且,如果真要对ViewEngine做单元测试,也不应该像他那样依赖外部文件.在 我看来,他的做法什么都不是--似乎美观,