测试驱动开发实践-重构篇
2009-06-19 08:52
183 查看
前一篇文章 测试驱动开发实践-入门篇 我们我们讲了一些基本的测试驱动开发流程:
1。写单元测试使他亮红灯
2。写代码使测试变成绿灯
3。重构代码
接下来我们需要开始重构了,大家有可能会问,为什么需要重构,什么时候开始重构。
对与为什么需要重构,其实就是为了使代码结构清晰,去除一些重复的代码,比如我们执行sql语句操作,我们起初这样写
private connStr="server=.;database=TestDB;uid=sa;pwd=123"
2public int Add(string loginName)
3
16public int Delete(string loginName)
17private int ExecuteSql(string sql)
2public int Add(string loginName)
15public int Delete(string loginName)
19public interface IEmployeeService
2public class EmployeeService : IEmployeeService
2public interface IEmployeeDataAccess
2public class EmployeeAccess : IEmployeeDataAccess
2[TestFixture]
2public class EmployeeServiceTest
3{
4{
9{
17{
23{
29 Assert.IsTrue(!empService.ValidateLoginName(""), "用户为Empty验证测试失败");
30 }
31}
这里重构就到这里了,这里服务层测试使用到了moq的mock框架可以在 http://code.google.com/p/moq 下到,所以这里用了mock模拟数据层进行了测试,这个框架对于分层开发测试非常好,
在数据层没有写完的时候,我们就可以模拟数据层提供数据,直接对服务层进行测试。
1。写单元测试使他亮红灯
2。写代码使测试变成绿灯
3。重构代码
接下来我们需要开始重构了,大家有可能会问,为什么需要重构,什么时候开始重构。
对与为什么需要重构,其实就是为了使代码结构清晰,去除一些重复的代码,比如我们执行sql语句操作,我们起初这样写
private connStr="server=.;database=TestDB;uid=sa;pwd=123"
2public int Add(string loginName)
3
16public int Delete(string loginName)
17private int ExecuteSql(string sql)
2public int Add(string loginName)
15public int Delete(string loginName)
19public interface IEmployeeService
2public class EmployeeService : IEmployeeService
2public interface IEmployeeDataAccess
2public class EmployeeAccess : IEmployeeDataAccess
2[TestFixture]
2public class EmployeeServiceTest
3{
4{
9{
17{
23{
29 Assert.IsTrue(!empService.ValidateLoginName(""), "用户为Empty验证测试失败");
30 }
31}
这里重构就到这里了,这里服务层测试使用到了moq的mock框架可以在 http://code.google.com/p/moq 下到,所以这里用了mock模拟数据层进行了测试,这个框架对于分层开发测试非常好,
在数据层没有写完的时候,我们就可以模拟数据层提供数据,直接对服务层进行测试。
相关文章推荐
- 测试驱动开发实践-重构篇
- 测试驱动开发实践——重构篇
- Android测试驱动开发实践1
- 测试驱动开发对于软件开发重构的意义
- 最佳实践:测试驱动开发全功略
- 穷人如何使用测试驱动开发进行重构
- 测试驱动开发与代码重构
- 【转载】实践测试驱动开发
- 测试驱动开发实践 - Test-Driven Development
- 机器学习实践测试驱动的开发方法pdf
- 测试驱动开发实践
- 对 单元测试&测试驱动开发&自动化测试 的理解和实践
- 测试驱动开发实践——入门篇
- 测试驱动开发与软件重构
- 测试驱动开发 ―― 一种真正的工程化开发实践 (转载自孙鸣、邓辉)
- 测试驱动开发实践 - Test-Driven Development(转载的)
- 测试驱动开发实践 - Test-Driven Development(转)
- 测试驱动开发与软件重构
- 测试驱动开发与软件重构
- 测试驱动开发实践