У меня есть такой тест, который работает:
Feature: TestAddition
Scenario Outline: "Addition"
Given A is <A> and B is <B>
Then A + B is <result>
Examples:
| A | B | result |
| 3 | 4 | 7 |
| 2 | 5 | 7 |
| 1 | 4 | 5 |
И вот код клея:
package featuresAdditions;
import org.junit.Assert;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import math.AdditionEngine;
public class step {
private AdditionEngine testAdditionEngine;
private double resultAddition;
@Given("^A is (\\d+) and B is (\\d+)$")
public void addition(int arg1, int arg2) throws Throwable {
testAdditionEngine = new AdditionEngine();
resultAddition = testAdditionEngine.calculateAdditionAmount(arg1, arg2);
}
@Then("^A + B is (.)$")
public void addition(double arg1) throws Throwable {
Assert.assertEquals(arg1, resultAddition, 0.01);
}
}
Однако я хотел бы знать, как создать недопустимый пример таблицы [где ??означает, что я не знаю, что положить в приведенную ниже таблицу]
Examples:
| A | B | result |
| "é3-3" | 5 | ?? |
| "é3-3" | "aB" | ?? |
Это должно дать java.lang.NumberFormatException
В чистом jUnit я бы сделал что-то вроде кода ниже, который работает какочарование [с @Test(expected = NumberFormatException.class)
].Тем не менее, я должен использовать Cucumber ... Кто-то может сказать мне, как выполнить такой тест с Cucubmer?
public class test {
AdditionEngine testAdditionEngine = new AdditionEngine();
@Test(expected = NumberFormatException.class)
public void test() {
testAdditionEngine.calculateAdditionAmount("é3-3", 5);
}
}