【问题标题】:Unit testing a SQL code generator对 SQL 代码生成器进行单元测试
【发布时间】:2011-02-21 00:01:41
【问题描述】:

我所在的团队目前正在用 TSQL 编写代码以生成 TSQL 代码,这些代码将保存为脚本并稍后运行。我们在测试代码生成器部分和测试它们生成的实际代码之间分离单元测试时遇到了一点困难。

我已经阅读了another similar question,但我希望能得到一些具体的例子来说明我们可能有什么样的单元测试用例。

举个例子,假设我有一段代码可以简单地为视图生成一个 DROP 语句,给定视图架构和名称。我是否只是使用字符串比较测试生成的代码是否与某些预期结果匹配,然后在以后的集成或系统测试中确保 drop 实际上会丢弃视图(如果存在),如果视图不存在则不执行任何操作,或者引发如果视图是我们标记为不允许放置的视图,则会出错?

感谢您的建议!

【问题讨论】:

  • 你自己的答案很不错:单元测试代码生成并使用集成测试运行生成的SQL。

标签: unit-testing tsql tdd code-generation


【解决方案1】:

先测试要生成的代码是合理的。一旦您知道此代码有效,您就可以按照您提到的那样检查字符串。

【讨论】:

  • 这就是我们所做的,小心地将两组测试包含在同一个测试组中,这样如果我们更改生成的代码来修复问题,它将自动导致生成器测试开始失败,直到它被纠正以生成新的(正确的)代码。在此测试和集成测试之间,我认为我们将得到很好的覆盖。
猜你喜欢
  • 2010-09-05
  • 2013-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多