我一直在試圖找出這一個,我如何測試一個私有方法與我正在測試的類中的rhino mocks調用。所以我的課堂會是這樣的。Rhino Mocks驗證私有方法是從公共方法調用
Public class Foo
{
public bool DoSomething()
{
if(somevalue)
{
//DoSomething;
}
else
{
ReportFailure("Failure");
}
}
private void ReportFailure(string message)
{
//DoSomeStuff;
}
}
所以我的單元測試是在Foo類和方法DoSomething的()我要檢查並確保一定的消息傳遞給ReportFailure如果someValue中是假的,用犀牛嘲笑。
同意,你應該通過公共接口設計你的類的可測性。如果您無法訪問需要驗證的內部狀態,則需要更強大的公共接口。 – darthtrevino 2010-06-17 02:33:49
我完全同意黑盒原理,但是我知道我的一些測試證實我正在測試的類在方法調用後已在內部正確更新。 – Flynn1179 2010-06-24 13:28:07