11

[BeforeFeature]機能ファイルに/[AfterFeature]フックを定義できません。テスト対象のアプリケーションは、WPF スタンドアロン デスクトップ アプリケーションです。

私が使用した場合[BeforeScenario][AfterScenario]すべてが正常に動作し、アプリケーションは問題なく起動し、設計された手順が正しく実行され、アプリが閉じられます。

[BeforeFeature]/[AfterFeature]タグで同じ手順を使用すると、アプリケーションが起動し、テストは次のように失敗します。

このプロセスの開始時に次のエラーが発生しました: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

次に例を示します。

[Binding]
public class Setup
{   
    [BeforeScenario("setup_scenario")]
    public static void BeforeAppScenario()
    {
        UILoader.General.StartApplication();
    }

    [AfterScenario("setup_scenario")]
    public static void AfterAppScenario()
    {
        UILoader.General.CloseApplication();
    }

    [BeforeFeature("setup_feature")]
    public static void BeforeAppFeature()
    {
        UILoader.General.StartApplication();
    }

    [AfterFeature("setup_feature")]
    public static void AfterAppFeature()
    {
        UILoader.General.CloseApplication();
    }
}

StartApplication/CloseApplicationコード化された UI テスト ビルダーで記録され、自動生成されました。

public void StartApplication()
{
    // Launch '%ProgramFiles%\...
    ApplicationUnderTest Application = ApplicationUnderTest.Launch(this.StartApplicationParams.ExePath, this.StartApplicationParams.AlternateExePath);
}

public class StartApplicationParams
{    
    public string ExePath = "C:\\Program Files..."
    public string AlternateExePath = "%ProgramFiles%\\..."
}

注目すべき点: 私は SpecFlow に関してはまったくの初心者です。[BeforeFeature]テストが で失敗し、 で正常に動作する理由がわかりません[BeforeScenario]

誰かがこの問題で私を助けてくれれば、それは素晴らしいことです. ありがとう!

4

1 に答える 1