Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Cumber stepdefs中抛出异常_Java_Junit_Cucumber Jvm - Fatal编程技术网

Java 在Cumber stepdefs中抛出异常

Java 在Cumber stepdefs中抛出异常,java,junit,cucumber-jvm,Java,Junit,Cucumber Jvm,我想实现Cumber stepdefs以连接数据库。我想测试doa引发异常的情况(SqlException)。调用Dao时如何模拟sqlexception @Given("The data base calling return sqlexception$") 简单地说: private boolean throwSqlException = false; @Given("The data base calling return sqlexception$") public void r

我想实现Cumber stepdefs以连接数据库。我想测试doa引发异常的情况(SqlException)。调用Dao时如何模拟sqlexception

  @Given("The data base calling return sqlexception$")
简单地说:

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();
    }
    // ...
}
简单地说:

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();
    }
    // ...
}

你必须模仿刀。这不是黄瓜的部分。谷歌关键词:EasyMock,Mockito,JMock

大概是

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

你必须模仿刀。这不是黄瓜的部分。谷歌关键词:EasyMock,Mockito,JMock

大概是

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

sqlException应该在dao类而不是stepdefs类中引发。sqlException应该在dao类而不是stepdefs类中引发。