簡體   English   中英

如何在jbehave中的后一個場景中獲取當前故事/場景

[英]How to get current story/scenario in after scenario in jbehave

我正在嘗試使用“上下文”對象在afterScenario中獲取當前的運行故事/場景:

    Context context = new Context();
    String currentScenario = context.getCurrentScenario();
    System.out.println("currentScen:" + currentScenario);

但currentScenario返回“ null”。 為什么會這樣,以及如何返回當前的運行故事/場景

非常感謝您的幫助

我認為您在問兩個不同的問題。 我將嘗試分別解決它們。

第一個問題是“為什么創建上下文並調用getCurrentScenario()不會返回當前正在運行的方案?”。 我假設您正在引用org.jbehave.core.context.Context類。 在這種情況下,您已經創建了上下文的新實例,該實例沒有有關當前運行方案的詳細信息。 因此,這返回空值是有意義的。 某個地方可能有一個具有此類上下文的StepMonitor,但是您無法從該代碼訪問它。

第二個是“如何從AfterScenario方法中訪問當前方案?” 從生命周期方法內部(方案之前/之后/故事/故事/故事)訪問此類數據的常規方法是使用報告器。 基本上,這是一個在故事運行時獲取事件的偵聽器。 然后,您可以跟蹤故事/場景/步驟是否在進行中,並將其提供給您的生命周期方法。 除了提供示例之外,我將為您指出一個相關的問題,該問題已經有一個涵蓋相同用例的示例。

Jbehave在@BeforeStory中獲取故事名稱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM