私は xUnit.NET フレームワークの大ファンです。軽く、シンプルで、クリーンで、拡張可能だと思います。
今、私は次のようなクラスを持っているとしましょう:
public class AdditionSpecification
{
static int result;
public void Because()
{
result = 2 + 2;
}
public void Result_is_non_zero()
{
Assert.True(result <> 0);
}
public void Result_is_correct()
{
Assert.Equal(4, result);
}
}
上記のテスト クラスを使用して、xUnit.NET に 2 つのテスト ケースを表示させ、各テスト ケースの前に Because() メソッドを実行させたいと考えています。
私のクラスまたはメソッド名、このテスト/仕様の構造、xUnit.NET フレームワーク、または BDD に関する問題はさておき、ここに私の質問があります。
各ターゲット テスト メソッドで [Fact] のようなカスタム属性を使用せずに、このクラスからテスト メソッドを識別して実行する方法をカスタマイズしたいことを xUnit.NET に伝えるにはどうすればよいですか?
実行前と実行後に各テスト メソッドをカスタムで装飾するために、BeforeAfterAttribute から派生できることがわかっています。クラスレベルでこれを行うにはどうすればよいですか? カスタム ランナーを作成する必要がありますか?