0

我知道在 TDD 中,您应该避免编写未经事先测试的代码,但我想知道这是否是为了简单起见可能违反规则的时候之一(避免测试第三方库的包装器)测试目的,例如网关模式)。不过,我目前正在测试它们,如下所示:

[TestMethod]
public void CreateShouldReturnANewInstance()
{
        var tcpClientMock = new Mock<ITcpClient>();
        var spooler2 = OutboundMessageSpooler.Create(tcpClientMock.Object);
        Assert.IsTrue(spooler2 != null && spooler2 is OutboundMessageSpooler);
}
4

1 回答 1

1

你写的测试给我的印象是一个很好的测试,但不是一个非常重要的测试。有这个功能可以从 TCP 客户端创建一个假脱机程序,这个测试证明了这个功能单元是有效的。这是驱动那一点功能的好方法——它以前不起作用,你用红色测试演示,你编写了方法,现在它起作用了。凉爽的。必要的?可能不是。有助于回归?再说一次,可能不是。作为未来(或许更复杂的)逻辑测试的模型有用吗?也许。

我不建议你不要编写这样的测试——毕竟,它们很容易编写,并且可以帮助你思考你希望如何实现该功能——TDD 的真正意义——但我可能不会敦促你写他们,要么。看看您发现它有多大帮助,如果答案是“不多”,请将您的试驾资源花在其他地方。

于 2015-07-10T14:35:42.397 回答