代码之家  ›  专栏  ›  技术社区  ›  Sylvain Rodrigue

TDD:有持续测试的模式吗?

  •  12
  • Sylvain Rodrigue  · 技术社区  · 16 年前

    常量是美丽的人-它们可以在一个独特的地方保存一个在代码中无处不在的值。更改该值只需要一次简单的修改。

    生活是酷的。

    好吧,这就是承诺。现实有时是不同的:

    • 你改变了 LogCompleteFileName 常量值来自 L:\LOGS\MyApp.log \\Traces\App208.txt 你会得到两个文件: \\traces\App208.txt 对于痕迹和 \\traces\App208.txt.log 为了原木…
    • 你改变 TransactionTimeout 从2到4分钟,2分钟后仍会出现超时(在花了一天时间后,您发现还必须更改DBMS的超时和事务管理器的超时…)。
    • 你取代 SleepTimeInMinutes 1 10 你看不到任何变化(大约一小时后,你会发现常量的名字有误导性:粒度不是分钟而是毫秒…)。
    • 更微妙的是:你改变了 CompanyName 从,说 Yahoo Microsoft 但是自动邮件警报仍然发送到 alert@yahoo.com

    创建常量是一个契约。你在告诉你的读者,每当他们改变价值时,它仍然会以他们认为应该的方式运作。

    没什么。

    当然,你需要测试你是否误导了你的读者。你必须确保默示合同是正确的。

    你如何通过TDD实现这一点?我只是被它困住了。唯一可以测试常量变化的方法是!!)值是使该常量成为应用程序设置…我应该得出结论吗 const 当我认为值可以并且将要改变时,应该避免使用关键字?

    如何使用TDD测试(所谓的)常量?

    非常感谢:)

    8 回复  |  直到 7 年前
    推荐文章