关于c#:xunit测试用例中的空引用异常:IConfiguration设置 | 珊瑚贝

Null reference exception in xunit test cases: IConfiguration settings

本问题已经有最佳答案,请猛点这里访问。


我已经为 API 控制器方法编写了一些 xUnit 测试。我正在使用 Azure 门户应用设置中的配置设置。

这是我用于初始化设置的代码。

1
2
3
4
5
private readonly  IConfiguration _configuration;
public   Controller(IConfiguration configuration)
{
    _configuration = configuration;
}

在测试用例类中,

1
2
3
4
5
6
7
8
IConfiguration _configuration;
[Fact]
public async void Method1()
{
    Controller controller = new Controller(_configuration);

}

运行测试后出现错误

System.NullReferenceException : Object reference not set to an instance of an object.

对此有什么可能的解决方案?

  • 您将 null 传递给构造函数,除非您在未发布的代码中初始化 _configuration


你需要定义_configuration。目前您声明了引用,但不要为其分配对象。它是空的。

你需要一些东西,比如:

IConfiguration _configuration = new Configuration();

当然,上面假设 Configuration 是一个实现 IConfiguration 接口的类。

  • 是否应该创建一个实现 Iconfiguration 的类?
  • @DVV,绝对是的。 IConfiguration 只是一个接口。它描述了一个合同,但它本身什么也不做。


来源:https://www.codenong.com/55293858/

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?