Delphi数据模块的单元测试
如果所有业务逻辑都存在于数据模块(TSQLDataSets和TDataSetProviders)中,您将如何重构代码以使应用程序更适合进行单元测试?之后,我写道。一些基本技巧:Delphi数据模块的单元测试,delphi,unit-testing,dunit,datamodule,Delphi,Unit Testing,Dunit,Datamodule,如果所有业务逻辑都存在于数据模块(TSQLDataSets和TDataSetProviders)中,您将如何重构代码以使应用程序更适合进行单元测试?之后,我写道。一些基本技巧: 您的数据模块不应该有任何对表单或任何其他UI组件的引用 将TDataSources放在窗体上,而不是放在数据模块中 确保没有任何需要用户输入DataModules代码的确认和操作提示 您不应该使用任何全局变量 希望这有帮助。对于DUnit测试的自动构建,您可以使用OpenCTF,它能够在测试运行时自动查找所有组件并创
- 您的数据模块不应该有任何对表单或任何其他UI组件的引用
- 将TDataSources放在窗体上,而不是放在数据模块中
- 确保没有任何需要用户输入DataModules代码的确认和操作提示
- 您不应该使用任何全局变量
希望这有帮助。对于DUnit测试的自动构建,您可以使用OpenCTF,它能够在测试运行时自动查找所有组件并创建测试用例。示例测试包括一些基本数据访问层测试 及
Hm,如果我没有将任何数据源放入我的数据模块,我如何连接多个表/查询,例如:datasource2.dataset=table2;表1.datasource=datasource2;我不使用这个特性,但我想在这种情况下,您必须将数据源放在DM中,但只是为了连接数据集。看看是否可以使用其他数据源将数据集连接到可视化组件。我不同意#2 item.t数据源可以有两个用途:绑定UI控件(然后它应该在窗体或框架上)、绑定主-细节关系(然后它应该在数据模块上)