|
|
|
|
|
by AndrewRadev
5023 days ago
|
|
I'm the plugin writer. The should/should_not dance is something I keep doing when I write tests. Say I create a user with certain properties and I assert something about them: create(:user, :active => true).should be_active
Now, I want to change its properties and assert the opposite. I duplicate the line, change the property, and switch the "should" into a "should_not": create(:user, :active => false).should_not be_active
This is a very simple example, but I do things like this on a regular basis while writing tests. I assume other people have different workflows around this, but this works nicely for me. That's why I mentioned in the video that these are my own little timesavers, so you might not find them that useful :).As for the predicate stuff, it's actually "true or (predicate?)". The idea is that switching to this would result in the first branch always being executed, unconditionally. I use this for view templates when I want to see how the page looks when, for example, there's no logged in user (it'd take more time to log out and then back in :)), or when the user has no trading accounts, or some other simple condition that I want to disable for just a sec to check out if some div got misaligned. Really, the basic idea is simple -- if there's some code that you often need to change into some other code, you could store that transformation as a "switch" and avoid repeating yourself. |
|