mdespuits / dotify

A CLI Tool for managing your dotfiles.
http://mattdbridges.github.com/dotify
MIT License
158 stars 10 forks source link

Cucumber scenarios failing #19

Open pablox-cl opened 11 years ago

pablox-cl commented 11 years ago

I was trying to extend a functionality on dotify, but I wanted to keep the bdd approach dotify already has. I cloned the repo, created a new (rvm) empty gemset and then I ran bundle install. After that on the root directory, I ran cucumber:

dotify $ cucumber
[...]
  @linking @interactive
  Scenario: Linking files                                      # features/linking/linking.feature:16
    When I run `dotify link` interactively                     # aruba-0.4.11/lib/aruba/cucumber.rb:74
    And I type "no"                                            # aruba-0.4.11/lib/aruba/cucumber.rb:78
    And I type "no"                                            # aruba-0.4.11/lib/aruba/cucumber.rb:78
    And I type "yes"                                           # aruba-0.4.11/lib/aruba/cucumber.rb:78
    And I type "yes"                                           # aruba-0.4.11/lib/aruba/cucumber.rb:78
    Then a file named ".dotify/.bash_profile" should not exist # aruba-0.4.11/lib/aruba/cucumber.rb:219
      expected file?(".dotify/.bash_profile") to return false, got true (RSpec::Expectations::ExpectationNotMetError)
      features/linking/linking.feature:22:in `Then a file named ".dotify/.bash_profile" should not exist'
    Then a file named ".dotify/.gemrc" should not exist        # aruba-0.4.11/lib/aruba/cucumber.rb:219
    Then a file named ".dotify/.vimrc" should exist            # aruba-0.4.11/lib/aruba/cucumber.rb:215
    Then a file named ".dotify/.zshrc" should exist            # aruba-0.4.11/lib/aruba/cucumber.rb:215
[...]

In the end, I found that one failing scenario and 3 skipped, but dotify is actually working fine so I was wondering if the issue was on my configuration or the test itself.

Another thing that could be important. To run cucumber I had to add simplecov as a development dependency on the gemspec because I was getting an error about that library missing.

mdespuits commented 11 years ago

@PaBLoX-CL That is very strange. Yes, I really should have simplecov as a dependency for testing. I'll add that back into master.

However, all of my rspec and cucumber tests are passing. I will see if I can isolate an issue when I have some time.

pablox-cl commented 11 years ago

I'll list all the steps, in case you found something weird:

git clone git://github.com/mattdbridges/dotify.git doty
cd doty
rvm gemset use doty --create
bundle install
cucumber -t @linking

And get...

doty git:master ❯❯❯ cucumber -t @linking
Feature: Linking Files

  As a Dotify User
  I want to be able to link dotfiles
  In order to manage them

  Background:                               # features/linking/linking.feature:7
    Given Dotify is setup                   # features/step_definitions/setting_up_dotify.rb:5
    And an empty file named ".bash_profile" # aruba-0.4.11/lib/aruba/cucumber.rb:23
    And an empty file named ".gemrc"        # aruba-0.4.11/lib/aruba/cucumber.rb:23
    And an empty file named ".vimrc"        # aruba-0.4.11/lib/aruba/cucumber.rb:23
    And an empty file named ".zshrc"        # aruba-0.4.11/lib/aruba/cucumber.rb:23

  @linking @interactive
  Scenario: Linking files                                      # features/linking/linking.feature:16
    When I run `dotify link` interactively                     # aruba-0.4.11/lib/aruba/cucumber.rb:74
    And I type "no"                                            # aruba-0.4.11/lib/aruba/cucumber.rb:78
    And I type "no"                                            # aruba-0.4.11/lib/aruba/cucumber.rb:78
    And I type "yes"                                           # aruba-0.4.11/lib/aruba/cucumber.rb:78
    And I type "yes"                                           # aruba-0.4.11/lib/aruba/cucumber.rb:78
    Then a file named ".dotify/.bash_profile" should not exist # aruba-0.4.11/lib/aruba/cucumber.rb:219
      expected file?(".dotify/.bash_profile") to return false, got true (RSpec::Expectations::ExpectationNotMetError)
      features/linking/linking.feature:22:in `Then a file named ".dotify/.bash_profile" should not exist'
    Then a file named ".dotify/.gemrc" should not exist        # aruba-0.4.11/lib/aruba/cucumber.rb:219
    Then a file named ".dotify/.vimrc" should exist            # aruba-0.4.11/lib/aruba/cucumber.rb:215
    Then a file named ".dotify/.zshrc" should exist            # aruba-0.4.11/lib/aruba/cucumber.rb:215

  @linking
  Scenario: Linking files with force                # features/linking/linking.feature:28
    When I successfully run `dotify link --force`   # aruba-0.4.11/lib/aruba/cucumber.rb:65
    Then ".bash_profile" should be linked to Dotify # features/step_definitions/linking_files.rb:11
    And ".gemrc" should be linked to Dotify         # features/step_definitions/linking_files.rb:11
    And ".vimrc" should be linked to Dotify         # features/step_definitions/linking_files.rb:11
    And ".zshrc" should be linked to Dotify         # features/step_definitions/linking_files.rb:11

Failing Scenarios:
cucumber features/linking/linking.feature:16 # Scenario: Linking files

2 scenarios (1 failed, 1 passed)
24 steps (1 failed, 3 skipped, 20 passed)
0m2.790s
Coverage report generated for Cucumber Features to /home/pablo/code/ruby/doty/coverage/cuke. 206 / 384 LOC (53.65%) covered.

Is there some way I can give more info?

mdespuits commented 11 years ago

It looks like that is the failing spec in Travis as well. I'm not sure at all why is started failing. The last few changes I've made to master have been minuscule and shouldn't have been breaking the features at all!

pablox-cl commented 11 years ago

I don't understand either... looking the log I can see you switched to aruba not long ago, so maybe that or the spec itself is failing?

mdespuits commented 11 years ago

I've been using aruba for quite some time with specs that were just fine. I'll have to play around with it, but I'm still not sure what the issue is.