2016-12-30 6 views
0

Javaを使用して実行時に現在の機能ファイル名を取得します。私はシナリオフックで情報が、機能ファイルを取得することができませんでしJavaを使用して現在のキュウリの機能ファイル名を実行時に取得する方法

@Before 
    public void before(final Scenario scenario) { 
       this.scenario = scenario; 
     } 

を持っている私たちは、現在の機能のファイル名を取得するために、任意の同様のものを持っていますか? 私はキュウリのバージョンを使用しています1.2.4

+1

この機能のためのPR(https://github.com/cucumber/cucumber-jvm/pull/984)がありますが、リリースとのマージは行われません。この問題を回避するには、フィーチャー・ファイル名をタグとしてフィーチャー・ファイルに追加します。次に、scenario.getSourceTagNames()を使用してすべてのタグを取得できます。識別子を使用して、フィーチャー・ファイル名を持つタグを判別します。 – Grasshopper

答えて

2

UPDATE:

private String getFeatureFileNameFromScenarioId(Scenario scenario) { 
    String featureName = "Feature "; 
    String rawFeatureName = scenario.getId().split(";")[0].replace("-"," "); 
    featureName = featureName + rawFeatureName.substring(0, 1).toUpperCase() + rawFeatureName.substring(1); 

    return featureName; 
} 

ORIGINAL:

これは、例のように大文字で始まる機能名のための私の実装がある

これはあなたには便利かどうかわかりませんが、scenario.getId()

これは、たとえば、あなたに機能ファイル名とシナリオ名を与えます:scenario.getIdと

Feature: Login to the app 

Scenario: Login to the app with password 
Given I am on the login screen 
When I enter my passcode 
Then I press the ok button 

を()は、次を得るでしょう:

ログイン・ツー・ザ・アプリ;パスワード付きアプリへのログイン

希望すると、これが役立ちます。

関連する問題