Вложенные testRunners: Могу ли я запустить классы, разделяющие тесты? - PullRequest
0 голосов
/ 27 марта 2019

фон

Я строю небольшую рамку, используя Cucumber и Junit-quickcheck. Руководящие принципы требуют написания сценариев в огурце, и я хочу добавить возможность запуска тестов на основе свойств. С QuickTeory это работает нормально, но есть некоторые ошибки, и это поддерживается одним человеком, поэтому я бы хотел перейти на junit-quickcheck.

вопрос

Код работает нормально, но теперь два теста выполняются как один, и в отчете по огурцам их невозможно идентифицировать. Поэтому я хотел бы найти способ написать pbt-тесты в классе PBT (а не как класс для каждого теста!), А затем выполнить их с огурцом в качестве отдельных тестов.

Я полагаю, что должен быть способ использовать TestClass, но я не смог заставить это работать.

Вот мой код, который работает, но только так, как описано:

public class Steps implements En {
  public Scenario scenario;
}


public Steps() {

  Given("^I exeute a pbt$", () -> {
    System.out.println("Lets run the pbt");
    Result res = JUnitCore.runClasses(PBT.class);
    assertThat(res.getFailures().toString(), res.wasSuccessful(), equalTo(true));
  });

  }
}

и

@RunWith(JUnitQuickcheck.class)
public class PBT {
  @Property public void concatenationLength(String s1, String s2) {
    assertEquals("nahh", s1.length() + s2.length(), (s1 + s2).length());
  }

  @Property public void reverseTwice(String str){
    assertThat(new StringBuilder(str).reverse().reverse().toString(), equalTo(str));
  }
}

Дает этот результат:

Running steps.TestRunner
Feature: PBT
Lets run the pbt

  @PBT
  Scenario: First example # PBT.feature:3
    Given I exeute a pbt  # Steps.java:40

1 Scenarios (1 passed)
1 Steps (1 passed)
0m0.597s
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...