On Sat, Jan 24, 2009 at 11:17 AM, Michael Klishin <[email protected]> wrote: > > Merb's concept of testing of requests is "test the whole stack". It > does not matter how isolated your tests are, > as long as they do what they supposed to do: reveal problems as you do > changes to the code.
I've just gotta play Devil's Advocate here. What you are describing is not strictly Merb's concept of testing requests. It's Yehuda Katz's concept of testing requests. It's a pretty good concept and I happen to agree with it, but Yehuda and Ezra have also said over and over that Merb should not be too opinionated. That it may ship with particular default opinions, but if you have *other* opinions it should not be too difficult to slot your own in. Philp may be somewhat annoying in his wheedling "ask questions by complaining" style, but in this case he's actually right. There *is* a gap in Merb testing. It really is harder to test partials or helpers in Merb than it is in Rails. I tried it myself on a helper for a little while and then gave up on it, because figuring out how to simulate a view context for the testing turned out to be harder than the code itself was worth. I blogged about the experience: http://extraneous.org/past/2009/1/3/learning_from_trying_too_hard/ As I said there, the lesson I took from that reinforced Yehuda's philosophy. There's a sensible reason why the gap exists: there's no help for view isolation testing because no one on the core team wanted it. Fair enough. In my particular use case that wasn't a problem. BUT. I can think of cases where it'd be genuinely helpful. Plugins would be a good example. If I want to share my little helper with the world as a gem, it'd be a more useful test for *your* app if I tested it in isolation against the Merb public API than if I rigged up a fake mini-application in the specs. I'm sure it's possible to do that now if one knew Merb's innards well enough, but there are no test helpers for it, so it'd take pretty deep knowledge to set up the context. Merb and Rails are both good demonstrations that tools create cultures. Following the lead of Merb's creators, this culture's majority view is that integration testing is to be lauded and isolation testing of controllers and views is to be denigrated. Fair enough. But griping at everyone who raises the question, to say that to want isolation testing means you're Doing It Wrong regardless of business need or context, seems unnecessarily dogmatic. And my own understanding was that Merb culture is supposed to be against dogmatism. Am I wrong? -- Have Fun, Steve Eley ([email protected]) ESCAPE POD - The Science Fiction Podcast Magazine http://www.escapepod.org --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "merb" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/merb?hl=en -~----------~----~----~----~------~----~------~--~---
