我的asp.net core 2.1项目中有一个控制器,该控制器具有IOptions<RaygunSettings>
作为构造函数参数。
依赖注入被添加到Startup.cs中,如下所示。
services.AddRaygun(Configuration);
运行Web应用程序时,一切正常。但是当它不适用于xunit项目时。
SampleController.cs
private readonly RaygunClient raygunClient;
public SampleController(IOptions<RaygunSettings> settings)
{
_settings = settings;
raygunClient = new RaygunClient(_settings.Value);
}
private Mock<IOptions<RaygunSettings>> _settings;
SampleControllerTest.cs
public SampleControllerTest()
{
//Arrange
_settings = new Mock<IOptions<RaygunSettings>>();
_controller = new SampleController(_settings.Object);
}
上面的代码说明了我的SampleController和SampleControllerTest构造函数的样子。
当我尝试在raygunclient实例化时间运行xunit测试时,我得到
对象引用未设置为对象的实例
如何在asp.net core 2.1的xunit测试项目中解决此问题