在黄瓜stepdef中抛出异常

时间:2016-02-24 23:31:53

标签: java junit cucumber-jvm

我想实现与数据库连接的黄瓜stepdef。我想测试doa抛出异常的情况(SqlException)。我们如何在调用Dao时模拟sqlexception?

  @Given("The data base calling return sqlexception$")

2 个答案:

答案 0 :(得分:0)

简单地:

private boolean throwSqlException = false;

@Given("The data base calling return sqlexception$")
public void returnsSqlExcception() {
    throwSqlException = true;
}

@When("do something")
public void doSomething() {
    if(throwSqlException) {
        throw new SqlException();
    }
    // ...
}

答案 1 :(得分:0)

你必须嘲笑DAO。这不是黄瓜的一部分。谷歌的关键词:EasyMock,Mockito,JMock。

会像

@Given("The data base calling return sqlexception$")
public void sqlExceptionThrownOnDbCall() {
    expect(mockedDao.methodToBecalled(...)).andThrow(new SqlException()); 
}