public void UploadFile() { // Arrange String fileName = "Test.txt"; NoteViewModel vm = new NoteViewModel(); vm.Cid = TestNote.cid; String dstPathFile = Path.Combine(Config.GetConfig().PathCustomerFolders, vm.Cid.ToString(), fileName); FrmNoteController controller = new FrmNoteController(); // mocking - style 1 Mock <HttpPostedFileBase> mockFile = new Mock <HttpPostedFileBase>(); mockFile.Setup(x => x.FileName).Returns(fileName); mockFile.Setup(x => x.ContentLength).Returns(1); vm.AttachmentFile = mockFile.Object; // mocking - style 2 //HttpPostedFileBase mockFile = Mock.Of<HttpPostedFileBase>(); //Mock.Get(mockFile).Setup(x => x.FileName).Returns(fileName); //Mock.Get(mockFile).Setup(x => x.ContentLength).Returns(1); //vm.AttachmentFile = mockFile; // Act MethodInfo callUploadFile = controller.GetType().GetMethod("UploadFile", BindingFlags.NonPublic | BindingFlags.Instance); callUploadFile.Invoke(controller, new object[] { vm }); // Assert Assert.AreEqual(fileName, vm.Attachment); mockFile.Verify(x => x.SaveAs(dstPathFile)); // style 1 //Mock.Get(mockFile).Verify(x => x.SaveAs(dstPathFile)); // style 2 }