まず第一に、私はSpecFlowに不慣れです。
完全にセットアップされたサーバー、データアクセスを含む機能テストとして実行するためにMSTestを使用して自動化する機能ファイルがあります...この目的のために、SpecFlowの「Given」のデータを使用してサーバーを構成する必要がありますブロックし、後で開始します。また、いくつかのファイルをテストの出力ディレクトリにコピーする必要があります。
SpecFlow以外の機能テストでは、ClassInitialize属性を使用して、TestContextからTestDeploymentDirを取得していました。このようなもの:
[ClassInitialize]
public static void ClassSetup(TestContext context)
{
TargetDataDeploymentRoot = context.TestDeploymentDir;
}
SpecFlowでは、SpecFlow自体によって使用されるため、この属性を使用できなくなりました。同様に機能するBeforeFeatureのように、いくつかの新しい属性が存在しますが、パラメーターとしてTestContextを渡しません。
機能テストサーバーを実際に起動する前に、TestContextのTestDeploymentDirにアクセスしてファイルをコピーする必要があります。これは、SpecFlowなしでは簡単に実行できますが、SpecFlowではほとんど不可能です。
この問題に対処する方法は?
それは可能ですか?
アドバイスありがとうございます!
ロバート
環境:
- Visual Studio 2012
- SpecFlow 1.9.0.77