私はいくつかの大きなテスト スイートを持っているので、それらを内部/ネストされたクラスに分割しました。これにより、VSCode テスト エクスプローラーでの結果もよりわかりやすくなります。
しかし、外側のクラスで定義されている共通のフィクスチャ データがある場合はうまく機能しません。
public class UserTests
{
// common fixture data used by all inner classes
public UserTests() => _fake = new Fake();
private readonly Fake _fake;
public class AddUser {
public AddUser(UserTests o) => _outer = o;
private readonly UserTests _outer;
[Fact]
public void test_foo() {
// use _outer._fake
}
[Fact]
public void test_bar() {
// use _base._fake
}
}
public class FindUser
{
// ...similar to above
}
public class DeleteUser {
// ...similar to above
}
}
しかし、私はこのエラーが発生します:
次のコンストラクタ パラメータには、一致するフィクスチャ データがありませんでした: UserTests o
したがって、おそらく上記は悪い設定です。
すべての内部クラスで使用できるように、クラスをネストし、外部クラスにフィクスチャ データを作成できる適切な設定は何ですか?