1

私はいくつかの大きなテスト スイートを持っているので、それらを内部/ネストされたクラスに分割しました。これにより、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

したがって、おそらく上記は悪い設定です。

すべての内部クラスで使用できるように、クラスをネストし、外部クラスにフィクスチャ データを作成できる適切な設定は何ですか?

4

1 に答える 1