从命令行运行MSTest时,Moq模拟对象为null

问题描述

当我在Visual Studio中运行该.NET Core MSTest单元测试时,通过命令行使用“ dotnet test”命令运行该.NET Core MSTest单元测试失败(未传递任何参数)。我收到错误消息:

System.NullReferenceException:对象引用未设置为对象的实例

失败了,因为我使用Moq模拟的依赖项为null。最初,我认为问题可能与在Visual Studio中使用松散的模拟运行测试有关,然后由于某种原因在命令行中使用严格的模拟运行,结果证明是错误的,即使我得到了在Visual Studio中使用严格的模拟测试传递,它仍然无法从命令行中失败。

解决方法

原来我是个白痴。我所针对的dll是一个过时的文件,在我更改测试项目的名称之前。感谢Peter Csala使我更仔细地查看了失败的单元测试,这使我意识到失败的单元测试不再存在于我的代码中,使我意识到dll已过时。