public void BeginTransactionSucceeds() { var mockedContext = new Mock <DbContext>(); var mockedDatabase = new Mock <DatabaseFacade>(mockedContext.Object); mockedDatabase.Setup(facade => facade.BeginTransaction()) .Returns(new Mock <IDbContextTransaction>().Object); mockedContext.SetupGet(context => context.Database) .Returns(mockedDatabase.Object); var unitOfWork = new FakeUnitOfWork(mockedContext.Object); unitOfWork.BeginTransaction().Should().NotBeNull().And.BeOfType <EntityFrameworkTransaction>(); mockedDatabase.Verify(facade => facade.BeginTransaction(), Times.Once); }