Thucydides - 在@Step断言失败后,测试继续进行

时间:2013-10-29 14:45:36

标签: junit webdriver thucydides

在下面的场景中,我预计步骤中的断言失败会导致测试失败。我所看到的是测试继续进行,并且由于@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运行测试。 (使用ThucydidesRunner)

2 个答案:

答案 0 :(得分:1)

尝试检查一下:http://thucydides.info/docs/thucydides/_creating_a_new_thucydides_project.html

简而言之,分步骤:

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));
  }
}

答案 1 :(得分:1)

事实证明测试不会停止,这是我从修昔底德的创作者那里得到的回复:

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