您需要设置
Create
退货方法
Product
当它接收到类型的实例时
产品
有一些特定的
Title
以及一些具体的
Id
。现在您正在设置
创造
退货方法
产品
当它接收到您创建的对象时。这当然失败了,因为这是另一个完全不同的对象,而不是在你的
创造
方法
因此,将您的设置行更改为:
_productRepository.Setup(g => g.Create(It.Is<Product>(p => p.Id == product.Id && p.Title == product.Title)).ReturnsAsync(() => product);
或者,您可以重写Equals方法和==运算符,您的原始代码也可以工作。