public void AddItemsTest() { // Arrange: set up a context mock with an empty collection of root items, exposed through a provider mock. Mock <IMyContext> myContextMock = new Mock <IMyContext>(); var myRootItems = new DbSetMock <MyRootItem>(); myContextMock.Setup(m => m.MyRootItems).Returns(myRootItems); Mock <IMyContextProvider> myContextProvider = new Mock <IMyContextProvider>(); myContextProvider.Setup(m => m.CreateContext()).Returns(myContextMock.Object); // Act: create the service instance and call AddItems operation. var service = new MyService(myContextProvider.Object); service.AddItems(); // Assert: verify that the context is created, and that the side effects are as expected. myContextProvider.Verify(m => m.CreateContext()); Assert.AreEqual(2, myRootItems.Count()); }