I am looking for Java Behaviour-driven development test frameworks that integrates well with Data-driven development (parametrized values). I started using easyb, but it seems not really data-driven friendly. Looking at the documentation JBehave looks a more consolidated framework, has anyone used one of hose framework with Selenium (Maven project) with CSV or JSON files as feeds.
Cheers,
You can use JGiven together with JUnit and the JUnit-DataProvider. You can then write tests like this one:
@Test
@DataProvider( {
"0, 0, Error: No coffees left",
"0, 1, Error: No coffees left",
"1, 0, Error: Insufficient money",
"0, 5, Error: No coffees left",
"1, 5, Enjoy your coffee!",
} )
public void correct_messages_are_shown( int coffeesLeft, int numberOfCoins, String message ) {
given().a_coffee_machine()
.and().there_are_$_coffees_left_in_the_machine( coffeesLeft );
when().I_insert_$_one_euro_coins( numberOfCoins )
.and().I_press_the_coffee_button();
then().the_message_$_is_shown( message );
}
The full example can be found on GitHub
Disclaimer: I am the author of JGiven
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With