我一直在使用(并且喜欢)新的 Rhino Mocks AAA 语法。然而,令我困惑的一件事是我必须像这样创建我的存根和模拟:
var v1 = MockRepository.GenerateStub<MyClass>();
而不是实例化的 MockRepository:
var mr = new MockRepository();
var v1 = mr.GenerateStub<MyClass>();
这种语法将使我的单元测试更容易转换。
从阅读 Ayende 的 wiki 看来,第二种语法应该可以工作,但我就是无法让它正常工作。如果我这样做,那么我必须使用 Record/Playback 块。在没有静态方法的情况下,我也无法在网上找到任何使用新语法的人的示例。
所以我的问题是,是否有其他人设法在不使用静态方法且无需求助于记录/播放的情况下使 AAA 语法工作?如果是这样,我错过了什么?