六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 46|回复: 0

遗留数据库多表关联的 unit test

[复制链接]

升级  60%

6

主题

6

主题

6

主题

童生

Rank: 1

积分
30
 楼主| 发表于 2013-1-27 05:20:43 | 显示全部楼层 |阅读模式
手上的项目是一个遗留系统。要在尽量保持原有数据库结构的情况下,用rails改写。
其中有些表是多表关联。而且在数据库中也存在数据丢失的情况。
就是说一个表里面的 foreign key 的值可能在另外那个表里面已经被删除了。
例如在 Rails 里: A has_one B, A和B 都有很多attributes.
如果

B.A 是nil
那么 B.A.attributes就会报错。nil.attributes
如果是 C has_many A的话,就更麻烦了。
B.A.C.attributes 就更可能出错了。

现在我采取的办法是用begin/rescue。
可是我想在做test的时候,把这些隐藏的问题找出来。
一可以修复数据库,二可以全面找出问题的所在。

但是在rails unit test.
fixtures引入的是yml文件。

如何在unit test 时引入全部数据?
如何做多表关联的测试?
在controller,model 和view 里面有没有比begin/rescue更好的方法?
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表