1
我寫這樣的類:RhinoMock說:「類型不匹配的返回類型」
public class A
{
public virtual int LowLimit { get; set; }
internal virtual bool CheckLimit(int measurement)
{
return LowLimit <= measurement;
}
}
併爲它的測試:
MockRepository mocks = new MockRepository();
var limit = mocks.StrictMock<A>();
Expect.Call(limit.CheckLimit(2)).Return(true).Repeat.Once();
mocks.ReplayAll();
limit.CheckLimit(2);
mocks.VerifyAll();
它失敗: 系統.InvalidOperationException:類型'System.Boolean'與方法'A.get_LowLimit();'的返回類型'System.Int32'不匹配
但是,當我將CheckLimit方法的內部關鍵字替換爲public時,它工作正常。 爲什麼它會這樣呢?
奇怪。如果它不能訪問CheckLimit,它是如何知道CheckLimit在裏面使用LowLimit的?什麼是解決方案?我需要有內部的關鍵作品:( – Archeg
啊,無論如何,我得到它,所以謝謝。我已經添加[彙編:InternalsVisibleTo(Rhino.Mocks.RhinoMocks.NormalName)]我的保證,它的工作。謝謝 – Archeg