Junit 修昔底德-在@Step中的断言失败后继续测试

Junit 修昔底德-在@Step中的断言失败后继续测试,junit,webdriver,thucydides,Junit,Webdriver,Thucydides,在下面的场景中,我希望步骤中的断言失败会导致测试失败。我看到的是测试继续进行,由于@test方法中的一个后续断言失败,因此报告了错误的异常,这使得调试变得困难 当@Step中出现断言失败时,我是否可以让测试停止 @Test public void test() { .... steps.step1(); System.out.println("test should not reach here"); assertTrue(false); } @Step pu

在下面的场景中,我希望步骤中的断言失败会导致测试失败。我看到的是测试继续进行,由于@test方法中的一个后续断言失败,因此报告了错误的异常,这使得调试变得困难

当@Step中出现断言失败时,我是否可以让测试停止

@Test
public void test() {
    ....
    steps.step1();

    System.out.println("test should not reach here");
    assertTrue(false);
}

@Step
public void step1() {
    assertTrue(false);
}
尝试从我的IDE和maven运行测试。(使用ThucydideRunner)

尝试检查以下内容:

简言之,分步骤:

import net.thucydides.core.annotations.Step;
import static org.fest.assertions.Assertions.assertThat;
import static org.hamcrest.Matchers.is;

public class EndUserSteps extends Scenario Steps {
@Step
public void someStep() {
   assertThat(true, is(false));
  }
}

事实证明,测试并没有停止,以下是我从修昔底德的创造者那里得到的回答:

“测试不能立即停止,或者不可能知道哪些步骤没有执行,因此,是的,这是出于设计。他们确实会记录第一个断言错误,然后在“干运行”模式下运行这些步骤(不进行WebDriver调用),但这是它所能保证的最大限度。”