這兩行代碼給了我標題中提到的錯誤。我試圖定義一個存根TestClass
無法分配給<method name>,因爲它是一個方法組:Error(使用Moles框架)
var stubTestClass = new StubsTutorial.Moles.STestClass();
stubTestClass.WriteStuff =() => "Moled in static class!";
而且這是怎樣的功能WriteStuff()被定義
public class TestClass {
public string WriteStuff() {
return "Stuff written in main class.";
}
}
我不知道我要去的地方錯了。方向會幫助我。
是的。生成的存根是一個部分存根,因此非虛擬成員不能在那裏實例化。選項是使用痣。謝謝。 – TheSilverBullet
@TheSilverBullet重要的是要注意的是,如果'WriteStuff'仍然只是你考慮的痣類中的方法,或者如果它已經轉化爲委託類型,即在物業類型'Func鍵'的屬性這種情況(表示帶有零參數和返回類型'string'的方法)。我認爲'STestClass'(「存根」版本)的工作方式是將委託放在一個專門命名的字段中(可能用'WriteStuff'來調用)。 「WriteStuff」方法仍然是一種方法,這意味着您可以將STestClass的存根傳遞給您正在測試的方法。 –