For Your Own Info: Rails 2.3.2 is incompatible with Cucumber (0.8.5), Capybara (0.3.9) and Selenium-

Railers,

I am running an application on Rails 2.3.2. For some reason within our
organization, we wish to remain on this version of Rails. For
BDD/Testing,
we use Cucumber. So I installed Cucumber (0.8.5), Capybara (0.3.9) and
Selenium-webdriver (0.0.17). But when I run Cucumber on any feature, I
get
an error saying " wrong number of arguments (2 for 1)
(ArgumentError)"
,
(Check here for more: http://pastie.org/1169557). In addition, Selenium
web-driver was initiating two web browser windows concurrently. But, the
features were just “fine and good”.

Folks, it took me ages to figure out the problem. The error itself did
not
give a clue as to what went wrong. Neither did Cucumber inform/tip/warn
me
about anything. But after hours of trial and error, I discovered that
the
three giants, Cucumber (0.8.5), Capybara (0.3.9) and Selenium-webdriver
(0.0.17), were just incompatible with Rails 2.3.2. When I changed the
RAILS_GEM_VERSION in config/environment.rb from ‘2.3.2’ to ‘2.3.5’. The
features run awesomely cool!.

I’m glad to have solved it (and I liked the experience!!). So if anyone
is
finding the same problem with some Cucumber version (esp. >= 0.8.5 )
plus
its peripherals (Yes, I said peripherals [?][?]), hip-hop-hooray!
salvation is
here:

  • make sure you have the latest rails gem version (> 2.3.2)
  • If you would like to stick to your previous Rails version, then you
    can
    be switching between the versions. I do this manually, I would like
    to find
    a better way just automate it so that anyone ( who wishes to do so)
    can run
    the “Cukes” without problems.

Kind regards,


Edmond
Software Developer | Baobab Health Trust (http://www.baobabhealth.org/)
|
Malawi

Cell: +265 999 465 137 | +265 881 234 717

“Many people doubt open source software and probably don’t realize that
there is an alternative… which is just as good…” – Kevin Scannell

On 20 September 2010 10:26, Edmond K.
[email protected]wrote:

its peripherals (Yes, I said peripherals [?][?]), hip-hop-hooray! salvation
is here:

  • make sure you have the latest rails gem version (> 2.3.2)
  • If you would like to stick to your previous Rails version, then you
    can be switching between the versions. I do this manually, I would like to
    find a better way just automate it so that anyone ( who wishes to do so) can
    run the “Cukes” without problems.

Do you mean that you run the tests with rails 2.3.5 but use 2.3.2 in
production? That seems like a bad idea to me.

Colin

Do you mean that you run the tests with rails 2.3.5 but use 2.3.2 in
production? That seems like a bad idea to me.

I would say Yes and No.

Why Yes: For whatever reason, Cucumber 0.8.5 misbehaves on rails 2.3.2.
But
I still want to take advantage of it (plus its dependencies, esp.
Capybara).
After all for the features look same in both rails environments. One
using
rails 2.3.2 for testing can run them without any problems, provided they
have tools befitting it.

Why No: But for the rest of Testing (Shoulda) is done using rails 2.3.2
environment.

Regards,


Edmond
Software Developer | Baobab Health Trust (http://www.baobabhealth.org/)
|
Malawi

Cell: +265 999 465 137 | +265 881 234 717

“Many people doubt open source software and probably don’t realize that
there is an alternative… which is just as good…” – Kevin Scannell