public async Task TestGetPaymentByID_PaymentNotFound() { // create mock versions var mockPaymentService = new Mock <IPaymentService>(); var mockLoggerService = new Mock <ILogger <PaymentsController> >(); var paymentDTO = new PaymentDTO() { ID = Guid.NewGuid().ToString() }; mockPaymentService.Setup(x => x.GetPaymentByID(It.IsAny <string>())).Returns(Task.FromResult <PaymentDTO>(null)); PaymentsController controller = new PaymentsController(null, mockLoggerService.Object, null, mockPaymentService.Object); var result = await controller.GetPaymentByID(paymentDTO.ID); Assert.IsInstanceOfType(result.Result, typeof(Microsoft.AspNetCore.Mvc.NotFoundResult)); }