现在项目需要,从 java 转到 rails 。总是带着就习惯去写 rails 。比如觉得 Integration Test 很重要,于是写了 cucumber tests 。然后再看 controller test ,总觉得很别扭。
比如,
user = User.find(1)
...
按照以前的习惯,会 mock 一个 mockedUser ,然后让 User.find(1) 返回 mockedUser 。但是现有的 test 会真真实实地在数据库里插入一个 id 为 1 的 user 。
又或者
user = ...
user.do_something
不 mock user 的话, do_something 这个方法会被执行,这样 controller test 就依赖于 User 这个 Object 。
哪种是 rails way ?如何 argue 呀
1
WildCat 2016-01-07 06:03:49 +08:00 via iPhone
test 不是有自己的 shujuk 吗
|
2
WildCat 2016-01-07 06:04:06 +08:00 via iPhone
打错了, test 不是有自己的数据库吗
|
3
flyingkid 2016-01-07 09:52:44 +08:00
|
4
hging 2016-01-07 09:59:49 +08:00
你需要 rspec+factory girl
|
5
final0pro OP |