3

我正在寻找与数据驱动开发(参数化值)良好集成的 Java行为驱动开发测试框架。我开始使用easyb,但它似乎对数据驱动并不友好。查看文档JBehave看起来是一个更统一的框架,有没有人使用过 Selenium 的软管框架(Maven 项目),并以 CSV 或 JSON 文件作为提要。

干杯,

4

1 回答 1

2

您可以将JGiven与 JUnit 和JUnit-DataProvider一起使用。然后,您可以编写如下测试:

@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 );
}

完整示例可以在GitHub上找到

免责声明:我是 JGiven 的作者

于 2014-08-19T05:59:19.373 回答