gpt4 book ai didi

c# - 如何对 ArgumentNullException 的重载构造函数进行单元测试,其中每个构造函数只有一个参数

转载 作者:太空宇宙 更新时间:2023-11-03 20:06:36 24 4
gpt4 key购买 nike

我正在测试一个具有重载构造函数的类,第一个采用单个实体,第二个采用相同类型实体的列表。

class MyClass
{
public MyClass(Entity entity)
{
if(entity == null) throw new ArgumentNullException("entity");

// continue initialising.
}

public MyClass(IList<Entity> entityList)
{
if(entityList == null) throw new ArgumentNullException("entityList");

// continue initialising.
}
}

当然,尝试通过传递 null 来测试每个构造函数会导致单元测试调用哪个构造函数时出现歧义。

有什么办法解决这个问题吗?

最佳答案

您可以强制转换为 null 以消除歧义:

var c = new MyClass((Entity)null);
var cl = new MyClass((IList<Entity>)null);

关于c# - 如何对 ArgumentNullException 的重载构造函数进行单元测试,其中每个构造函数只有一个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23017452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com