只是一個例子:我有一個可以設置屬性的類。更具體地說,一旦它們全部被設置,就有裝配被加載的三個屬性。之後會觸發一個事件。將屬性賦值爲一個動作
我對這種行爲的單元測試是這個樣子:
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嗎?或者可能有不同的方法來抽象代碼?
你得到什麼錯誤? –