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);
}
Другие вопросы по тегам