关于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.

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


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

你需要一些东西,比如:

IConfiguration _configuration = new Configuration();

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