I want to implement groovy
parametrized test, where test names will be built using parameter values. I know how to do it in java
(also I've found the java answer here, but not groovy
)
So I need to improve my groovy
parametrized unit test with same option:
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
@RunWith(Parameterized)
class TestSimple {
String numberA
String numberB
String expectedResult
TestSimple(numA, numB, expected) {
numberA = numA
numberB = numB
expectedResult = expected
}
@Parameterized.Parameters
static data1() {
[
[null, "asd|asd|||ASD||ASD", 'result for first case'],
['09909', "asd|asd|||ASD||ASD", 'result for second case']
]*.toArray()
}
@Test
void testLogonRequest1() throws Exception {
println numberA + ":" + numberB
}
}
to replace ordered number with parameter value
TestSimple
[0]
testLogonRequest1[0]
[1]
testLogonRequest1[1]
Expected result similar to:
TestSimple
[used parameters: <numberA0value>, <numberB0value>]
testLogonRequest1[expected result: <expectedResult0Value>]
[used parameters: <numberA1value>, <numberB1value>]
testLogonRequest1[expected result: <expectedResult1Value>]
Any ideas?