統合テストを作成しています。テストを実行する前に、初期データを使用してデータベースをセットアップします。このために、テストプロジェクトを実行する前に実行する別のプロジェクトを作成しました(MSBuildファイルを使用)。 testprojectでdbセットアップコードをマージし、テストが実行される前に実行します。MBunit3を使用しています。可能ですか?
3 に答える
[AssemblyFixture]属性を使用してクラスを宣言できます。[FixtureSetUp]属性と[FixtureTearDown]属性を使用してそのクラスにいくつかのメソッドを追加し、アセンブリレベルのセットアップメソッドとティアダウンメソッドを定義します。
[AssemblyFixture]
public class MyAssemblyFixture
{
[FixtureSetUp]
public void SetUp()
{
// Code to be run before any test fixture within the assembly are executed.
}
[FixtureTearDown]
public void TearDown()
{
// Code to be run after all test fixture within the assembly are executed.
}
}
実際、構文は、よく知られている[TestFixture]、[SetUp]、および[TearDown]属性を使用してテストフィクスチャレベルで通常行われるものと似ています。
一般に、テスト フレームワークにはメソッド属性があり、各テストの前と後、およびテストの実行前とテストの実行後にコードを実行できます。mbunit は使ったことがないので属性がわかりません。
このリンクをチェックしてください... mbunit には nunit に似た属性があると確信しています
http://blogs.msdn.com/nnaderi/archive/2007/02/01/mstest-vs-nunit-frameworks.aspx
MBunit には過剰なドキュメントはありませんが、簡単にグーグル検索するとこの記事が表示され、MBUnit には NUnit [SetUp] および [TearDown] と同様の属性があることがわかります。これらで装飾されたメソッドは、各テストの前後にそれぞれ実行されます。