一个很常见的单元测试场景如下:
public void SetUp()
{
this.callLog = new StringBuilder();
}
public void TestBuzzBar()
{
var bar = new Bar(new MockFoo(callLog));
bar.Buzz(17);
Assert.AreEqual("MockFoo.Init(17) MockFoo.PrepareStuff MockFoo.DoTheJob ", callLog.ToString());
}
... 使用 MockFoo 通过仅将字符串附加到调用日志来实现 IFoo 接口。它需要在模拟中使用 callLog 进行大量代码处理。
使用 log4net 收集通话记录是个好主意吗?