Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you mark a Cucumber Scenario as Pending

How do I mark a cucumber scenario as pending so it doesn't get counted as a passed?

Scenario: Guest should not see edit link # pending implementation 

Shouldn't I be able to mark is as pending?

like image 237
jspooner Avatar asked Jun 17 '10 17:06

jspooner


People also ask

What are pending steps in Cucumber?

We use 'pending' to indicate that a certain dependency is not configured during a particular test run, and this is an expected condition. When executing cucumber tests in the strict mode, pending steps will fail the test so rendering pending as failures not strictly speaking wrong.

How do you fail a step in Cucumber scenario?

To fail a scenario you just need an assertion to fail, no need to set the status of the scenario. Cucumber will take care of that if an assertion fails. For testng you can use the SoftAssert class - http://testng.org/javadocs/org/testng/asserts/SoftAssert.html You will get plenty tutorials for this.


2 Answers

The problem with the @wip tag, I've found, is that it doesn't make your test suite yellow. It completely ignores the wip features, and you tend to forget they exist. This has bitten my team in the rear when scenarios are tagged as @wip and then forgotten. I wish there was a better solution. The best I have is adding this custom step:

Given /^PENDING/ do   pending end 

Rather than mark a real feature as pending, I can put this into the lineup with a message, like so:

Given PENDING: we need client input 

Then it shows up like this:

(::) pending steps (::)  features/example.feature:15:in `Given PENDING: we need client input' 

Pending halts the chain of tests, but it does NOT prevent cucumber from nagging about any undefined steps that follow in that same scenario. Also, ideally failing and pending features would tell you the name of the scenario that failed, but they don't.

like image 123
Jaime Bellmyer Avatar answered Oct 01 '22 03:10

Jaime Bellmyer


Okay figured this one out.

The Scenarios steps are marked as pending if it's not found in any of the steps files.

Scenario: New product form should have some special field   Given joe is logged in as an user   When on the new exercise page   Then the select field should have some special field 

It's even nice enough to stub out the pending step.

When /^on the new exercise page$/ do   pending # express the regexp above with the code you wish you had end 
like image 34
jspooner Avatar answered Oct 01 '22 01:10

jspooner