xUnit对夹具类的公共构造函数中可以接受哪种类型的参数有一些严格的规则;一
IMessageSink
和
ITestContextAccessor
。参见
source code on GitHub
请注意,引发了异常
here
因为
string
不支持代码中的选项。
要解决此问题,请保持默认值/无参数
public
建设者在那
ContextFixture
类允许在没有参数的情况下实例化它。
添加a
protected
带有参数的构造函数
ConstextFixture
并让衍生
SandboxContextFixture
fixture类从其默认/无参数构造函数中调用该类。
public class ContextFixture
{
public ContextFixture()
{ }
protected ContextFixture(string? options)
{ }
}
public class SandboxContextFixture : ContextFixture
{
public SandboxContextFixture() : base("some options value")
{ }
}
可选地,在
ContextFixture
类,无参数构造函数可以调用有参数的构造函数。
public class ContextFixture
{
public ContextFixture() : this(default)
{ }
protected ContextFixture(string? options)
{
// ...
}
}