Rad*_*hev 6 java tdd spring hibernate spring-mvc
我正在寻找有关如何以纯TDD方式创建Spring Web应用程序(使用hibernate)的建议.这意味着您不应该首先编写生产代码而不进行失败的单元测试.
您是否会对应用程序上下文的创建进行单元测试?如果是的话你会怎么做呢?
使用java配置而不是基于xml或基于注释的配置时,TDD弹簧应用程序会更容易吗?
Aar*_*lla 12
当您编写需要Spring ApplicationContext和数据库的测试时,这是一个集成测试,而不是单元测试.单元测试的一般规则是:
另一方面,集成测试:
因此对于TDD,您尝试构建可以在没有Spring的情况下创建的bean.以这样的方式编写它们,使您不必启动Hibernate或数据库.这里的主要原因是TDD需要每天运行数百次单元测试.如果它们运行时间超过10秒,您最终会觉得您在浪费时间等待测试结束.
接下来的问题通常是如何以这种方式测试任何有用的东西.好吧,这样想吧:Hibernate有效.它已经有很多单元测试.测试hibernate是浪费时间.因此,您应该在应用程序中创建一个完全隐藏Hibernate代码的层.
而不是布线FooDao,连接IFooDao有byId()方法并返回POJO.在单元测试中,您可以创建一个返回单个实例的模拟实现.
当你想知道是否真的FooDao有效时,写byId()几次调用的集成测试.
但避免"从DAO获取对象,进程对象,再次使用DAO保存对象".这是三个不同的测试(两个IT,一个UT).
| 归档时间: |
|
| 查看次数: |
4147 次 |
| 最近记录: |