手上的项目是一个遗留系统。要在尽量保持原有数据库结构的情况下,用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更好的方法?
其中有些表是多表关联。而且在数据库中也存在数据丢失的情况。
就是说一个表里面的 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更好的方法?
面对一个遗留的Rails系统,在尽量保留原有数据库结构的基础上进行重构。针对多表关联和数据丢失问题,探讨了如何在测试阶段发现并修复这些问题。同时讨论了在Rails中处理这些情况的最佳实践。
13

被折叠的 条评论
为什么被折叠?



