[Rspec-users] domain language?
aslak.hellesoy at gmail.com
Mon Oct 30 18:57:01 EST 2006
On 10/30/06, Phlip <phlip2005 at gmail.com> wrote:
> I went with RSpec instead of Systir because I downloaded and installed
> the former first.
> (I know that's not exactly a ringing endorsement! ;-)
maybe not, but it's a start :-) And systir doesn't have a gem, which
might have put you off, I don't know.
I have to admit I don't understand what problem systir attempts to
> I want to compete with FIT and Fitnesse, like this:
> (Click on a Green Bar to distend one test case.)
> I want a domain-specific language in the parchment-colored area on the right.
> I don't want to invent it the bass-ackwards way FIT does, with its
> Java-style Action Fixture. That just gets me back to writing each line
> as a custom function. Ruby solutions tend to be much more elegant than
Personally I'm a big fan of FIT. I like the way it allows business
rules to be expressed at a very high level.
Browser testing tools like Watir and Selenium-RC are good too, but I
tend to prefer a UI agnostic framework for most of the business logic
and only use Watir/Selenium-RC to verify navigation.
> Now here's my RSpec_Watir solution, to log into a site:
> @browser.text_field(:id, 'login').should_exist
> # .because login field should have the focus
Have you looked at RSpec's vendor/watir directory? (Only available if
you check out the code from svn - it's not in the gem yet).
> Those lines violate the Systir principles; they use parens () and
> variables and state. They use a comment instead of an assertion
> documentation string.
> RSpec has gone a long way towards producing readable sentences -
> "should_contain" instead of "assert ... contains?" etc.
> How to go the extra step? How to improve my RSpec style? How to get
> rid of @browser, and have a true domain language, without writing a
> private function for every stinkin' operation on my website?
Wouldn't systir also require you to define higher wrapper methods?
> Oh, and soon my tests must use 2 or more browsers, too...
Selenium-RC can do that. See RSpec's vendor/selenium for an example.
> (I suspect I can't just cram in Systir, because it has a competing
> test runner. And I have a bug report on ZenTest that I don't want to
> work around yet.)
> http://c2.com/cgi/wiki?ZeekLand <-- NOT a blog!!
> Rspec-users mailing list
> Rspec-users at rubyforge.org
More information about the Rspec-users