5

如果所有业务逻辑都存在于数据模块(TSQLDataSets 和 TDataSetProviders)中,您将如何重构代码以使应用程序更适合单元测试?

4

3 回答 3

5

关于这个的最后一个问题之后,我写了一篇关于如何做的博客文章

于 2009-01-23T14:29:51.263 回答
3

一些基本提示:

  • 你的 DataModules 不应该有任何对表单或任何其他 UI 组件的引用
  • 将 TDataSources 放在表单上,​​而不是放在 DataModules 中。
  • 确保没有任何需要用户在 DataModules 代码上输入的确认和操作提示。
  • 您不应该使用任何全局变量。

希望这可以帮助。

于 2009-01-23T19:57:25.083 回答
2

对于 DUnit 测试的自动化构建,您可以使用 OpenCTF,它能够在测试运行时找到所有组件并自动创建测试用例。示例测试包括一些基本的数据访问层测试。

http://sourceforge.net/projects/openctf/

http://cc.embarcadero.com/Item/24136

替代文字 http://www.mikejustin.com/images/OpenCTF.gif

于 2009-03-26T14:01:12.963 回答