Moq mock 方法返回null空指针异常

在使用moq mock方法时如果直接返回null,在方法被调用时会抛出空指针异常

   var repository = new Mock<IRepository>();
   var someObject = null;
   repository.Setup(p => p.GetByIdAsync(It.IsAny<string>()).Result)
                .Returns(someObject);

  var someObjectFromRepository = await repository.Object.GetByIdAsync("someid");
  // 此时会抛出空指针异常

解决方法:

不对改方法进行setup设置,该方法的返回值即为null

   var repository = new Mock<IRepository>();

  var someObjectFromRepository = await repository.Object.GetByIdAsync("someid");
  // 此时someObjectFromRepository为null
上一篇:Python接口自动化测试框架实战 从设计到开发(完结版)


下一篇:太强大了,Feign对接YAPI实现自动Mock