未将对象引用设置为RaygunClient的对象实例

时间:2018-09-27 06:32:21

标签: c# xunit.net asp.net-core-2.1

我的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测试项目中解决此问题

0 个答案:

没有答案