锁定老帖子 主题:单元测试交流
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-03-19
run_xiao 写道 引用 比较极端的做法是把数据库 DAO 层抽象成接口,然后做一个模拟实现。不过这样划不划得来,要看项目具体情况了。我个人做法通常是:在 setup() 中先 insert 一堆数据,然后在 tearDown() 中 delete 掉。这样就能保证单元测试不被影响。 setup()里起一个Transation tearDown()里rollback这样更爽了 补充一下spring 测试套件里的AbstractTransactionalDataSourceSpringContextTests就是干这个滴 http://www.jactiongroup.net/reference2/html/testing.html 8.3.3 |
|
返回顶楼 | |
发表时间:2007-04-05
AbstractTransactionalDataSourceSpringContextTests把setUp()和tearDown()搞成final的了,这不有病么,都没办法做统一的初始化了
|
|
返回顶楼 | |
发表时间:2007-04-09
littcai 写道 AbstractTransactionalDataSourceSpringContextTests把setUp()和tearDown()搞成final的了,这不有病么,都没办法做统一的初始化了
好好看看源代码,不要一棍子打死,原因在于需要帮定一些初始化工作, 然后扩展了onSetup。 |
|
返回顶楼 | |
发表时间:2007-04-16
gf2008 写道 我们在单元测试时,经常会遇到对同数据库打交道的单元进行测试,但在数据库发生变化时我的单元测试也要发生变化。
现在我们用的是将对数据库的操作抽取成一个接口,然后虚拟这个接口来实现,但现在灵活性感觉不太好,不知道各位有没有好的办法 我们公司的作法是,每台dev machine 都有自己的DB instance, 自己的DB instance的数据用DBUnit的格式放在xml file里并且checkin 到version control. 程序员用的data是live data的一个snapshot, 我们只有在加入新的功能的时候才会改data. DAO的测试会自己load设定好的data. functional test 会load test database. |
|
返回顶楼 | |