MoqとMockingには一般的に新しい。一般的なRepositoryFactoryを持ち、いくつかのリポジトリを使用するクラスをテストします。私はこれのように初期化するか、いくつかの良い方法がありますか?一般的な方法を正しく模擬する
Mock<IRepositoryFactory> factory;
Mock<IRepository<User>> userRepository;
Mock<IRepository<Role>> roleRepository;
Mock<IRepository<Meeting>> meetingRepository;
[TestInitialize()]
public void MyTestInitialize()
{
meetingRepository = new Mock<IRepository<Meeting>>();
//some meeting setup
userRepository = new Mock<IRepository<User>>();
//some user setup
roleRepository = new Mock<IRepository<Role>>();
//some role setup
factory = new Mock<IRepositoryFactory>();
factory.Setup(f => f.CreateRepository<Meeting>()).Returns(meetingRepository.Object);
factory.Setup(f => f.CreateRepository<User>()).Returns(userRepository.Object);
factory.Setup(f => f.CreateRepository<Role>()).Returns(roleRepository.Object);
私はもっとmcuhを持つことができます。
ここで私はすべて私の初期化メソッドでそれをやっていますが、私はそれを個別に行うべきだと思います。
これは、これがWCFサービスクラスで、いくつかのservicecontractsを実装していることです。私は現在TDDを使用していません。サービスにはRepositoryFactoryクラスしかありませんが、返される可能性があるリポジトリを偽装する必要があります。 –