Spock:在一项功能中测试下降和成功调用?
Spock: testing falling and successfull invocations in one feature?
鉴于我想用两个参数测试我的方法:一个应该导致成功,另一个应该导致异常。
写类似..
when:
myObject.myMethod(value);
then:
result
where:
value | result
new Good() | notThrown(Exception)
new Bad() | thrown(Exception)
.. 在 Spock 中是不可能的。
如何修复它并避免编写两个单独的特征方法?
import spock.lang.*
class MyFirstSpec extends Specification {
def "let's try this!"() {
when:
new Test().method('Good')
then:
noExceptionThrown()
when:
new Test().method('Bad')
then:
thrown(Exception)
}
class Test {
def method(String param) {
if(param == 'Good') {
return param
}
throw new Exception()
}
}
}
测试一下here
鉴于我想用两个参数测试我的方法:一个应该导致成功,另一个应该导致异常。
写类似..
when:
myObject.myMethod(value);
then:
result
where:
value | result
new Good() | notThrown(Exception)
new Bad() | thrown(Exception)
.. 在 Spock 中是不可能的。
如何修复它并避免编写两个单独的特征方法?
import spock.lang.*
class MyFirstSpec extends Specification {
def "let's try this!"() {
when:
new Test().method('Good')
then:
noExceptionThrown()
when:
new Test().method('Bad')
then:
thrown(Exception)
}
class Test {
def method(String param) {
if(param == 'Good') {
return param
}
throw new Exception()
}
}
}
测试一下here