MVC プロジェクトを使用して、ソリューションでいくつかのテスト コードを一般化しようとしています。コントローラーごとに同じテストを作成しているため、ジェネリックを使用してそれを作成できるので、必要なテストは 1 つだけであると考えました。
残念ながら、現在エラーが発生しています:Error 1 The type 'TRepo' must be a reference type in order to use it as parameter 'T' in the generic type or method 'Moq.Mock<T>'
関連するコードは次のとおりです。必要に応じて、さらに提供できます。
TestBase.cs
public class TestBase<TController, TObject, TRepo>
where TController : IRMCController<TObject>
where TRepo : IRMCRepository
{
public Mock<TRepo> Repo { get; set; }
}
CompaniesTest.cs
public class CompaniesTest : TestBase<CompaniesController, Company, ICompanyRepository>
助けてくれてありがとう。