Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在jbehave中的场景之后获取当前故事/场景_Java_Jbehave - Fatal编程技术网

Java 如何在jbehave中的场景之后获取当前故事/场景

Java 如何在jbehave中的场景之后获取当前故事/场景,java,jbehave,Java,Jbehave,我正在尝试使用“上下文”对象在余震中获取当前正在运行的故事/场景: Context context = new Context(); String currentScenario = context.getCurrentScenario(); System.out.println("currentScen:" + currentScenario); 但当前场景返回“null”。这是为什么?我如何返回当前运行的故事/场景 非常感谢你的帮助我想你在问两个不同的问题。我会试着

我正在尝试使用“上下文”对象在余震中获取当前正在运行的故事/场景:

    Context context = new Context();
    String currentScenario = context.getCurrentScenario();
    System.out.println("currentScen:" + currentScenario);
但当前场景返回“null”。这是为什么?我如何返回当前运行的故事/场景


非常感谢你的帮助

我想你在问两个不同的问题。我会试着分别处理它们

第一个问题是“为什么创建上下文并调用getCurrentScenario()不会返回当前运行的场景?”。我假设您正在引用org.jbehave.core.context.context类。在这种情况下,您已经创建了上下文的新实例,该实例没有关于当前运行场景的详细信息。所以它返回null是有意义的。某个地方可能有这样一个上下文的StepMonitor,但您无法从该代码访问它

第二个问题是“如何从AfterScenario方法中访问当前场景?”从生命周期方法(在场景/故事/故事之前/之后)中访问此类数据的常规方法是使用reporter。这基本上是一个侦听器,在故事运行时获取事件。然后,您可以跟踪故事/场景/步骤是否正在进行,并将其提供给您生命周期方法。我不会提供一个例子,而是向您指出一个相关的问题,这个问题已经有了一个涵盖相同用例的例子


我想你在问两个不同的问题。我会试着分别处理它们

第一个问题是“为什么创建上下文并调用getCurrentScenario()不会返回当前运行的场景?”。我假设您正在引用org.jbehave.core.context.context类。在这种情况下,您已经创建了上下文的新实例,该实例没有关于当前运行场景的详细信息。所以它返回null是有意义的。某个地方可能有这样一个上下文的StepMonitor,但您无法从该代码访问它

第二个问题是“如何从AfterScenario方法中访问当前场景?”从生命周期方法(在场景/故事/故事之前/之后)中访问此类数据的常规方法是使用reporter。这基本上是一个侦听器,在故事运行时获取事件。然后,您可以跟踪故事/场景/步骤是否正在进行,并将其提供给您生命周期方法。我不会提供一个例子,而是向您指出一个相关的问题,这个问题已经有了一个涵盖相同用例的例子