只是一个例子:我有一个可以设置属性的类。更具体地说,一旦它们全部被设置,就有装配被加载的三个属性。之后会触发一个事件。将属性赋值为一个动作
我对这种行为的单元测试是这个样子:
bool assemblyLoaded = false;
loader.AssemblyLoaded +=() => assemblyLoaded = true;
loader.Type = "someType";
Assert.IsFalse(assemblyLoaded); // not loaded, only one property was set
这将导致三个单元测试,一个测试每个属性。所以我想抽象测试使用帮助方法(见下文),以避免代码复制:
private void Testfoobar(Action setProperty)
{
bool assemblyLoaded = false;
loader.AssemblyLoaded += (sender, args) => assemblyLoaded = true;
setProperty();
}
不幸的是,我不能让一个属性赋值的动作。
所以,我想知道,你能以某种方式将这个任务“转换”为Action吗?或者可能有不同的方法来抽象代码?
你得到什么错误? –