KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I want to mock Find method which expects a predicate using Moq: public PurchaseOrder FindPurchaseOrderByOrderNumber(string purchaseOrderNumber) { return purchaseOrderRepository.Find(s => s.PurchaseOrderNumber == purchaseOrderNumber).FirstOrDefault(); } My repository method IList<TEntity> Find(Func<TEntity, bool> where); I used following test method [TestMethod] public void CanGetPurchaseOrderByPurchaseOrderNumber() { _purchaseOrderMockRepository.Setup(s => s.Find(It.IsAny<Func<PurchaseOrder, bool>>()).FirstOrDefault()) .Returns((Func<PurchaseOrder, bool> expr) => FakeFactory.GetPurchaseOrder()); _purchaseOrderService.FindPurchaseOrderByOrderNumber("1111"); } It gives me the following error: ServicesTest.PurchaseOrderServiceTest.CanGetPurchaseOrderByPurchaseOrderNumber threw exception: System.NotSupportedException: Expression references a method that does not belong to the mocked object: s => s.Find(It.IsAny()).FirstOrDefault How do I resolve this?
Tags (comma-separated)
Save Edits
Cancel