Cucumber-jvm Либо указанные параметры не соответствуют ни одному из следующих конструкторов: [private java.lang.Class()];
Я тестирую простой тест BDD на огурец на Android и получаю ошибку огурца
org.picocontainer.PicoCompositionException: Either the specified
parameters do not match any of the following constructors: [private
java.lang.Class()]; OR the constructors were not accessible for
'java.lang.Class'
Я не могу понять, откуда эта ошибка. Я что-то пропустил?
Мой файл функций
Scenario Outline: Test scenario
Given I have a TestActivity
Then I should see <text> on the display
Examples:
| text |
| 123 |
| test |
Определение шага
@CucumberOptions(features = "features", format = "pretty")
public class TestActivitySteps extends ActivityInstrumentationTestCase2<TestActivity> {
public TestActivitySteps(Class<TestActivity> activityClass) {
super(activityClass);
}
@Given("^I have a TestActivity$")
public void I_have_a_TestActivity() {
assertNotNull(getActivity());
}
@Then("^I should see (\\S+) on the display$")
public void I_should_see_s_on_the_display(final String s) {
onView(withText(s)).check(matches(isDisplayed()));
}
}
НОТА:
- Android Studio: 1.0.2
- Gradle: 2.2.1
- Огурец: 1.2.0
- Эспрессо: 2.0
1 ответ
Решение
Я понял. Этот конструктор вызывал ошибку.
public TestActivitySteps(Class<TestActivity> activityClass) {
super(activityClass);
}
Ошибка исчезла после того, как я изменился на
public TestActivitySteps(TestActivity activityClass) {
super(activityClass);
}