Delphi Midas/DataSnap项目中的DUnit测试
如何在Delphi2006的Midas/DataSnap项目中设置DUnit测试 编辑 如何在TRemoteDataModule中设置Dunit测试Delphi Midas/DataSnap项目中的DUnit测试,delphi,datasnap,dunit,midas-server,Delphi,Datasnap,Dunit,Midas Server,如何在Delphi2006的Midas/DataSnap项目中设置DUnit测试 编辑 如何在TRemoteDataModule中设置Dunit测试 Delphi 2006中的项目向导不适用于TRemoteDataModule,这个问题没有完全意义。单元测试在单独的项目中执行,而不是在DataSnap服务器中执行。通常,连接到数据库的测试是集成测试,而不是单元测试。你到底想测试什么?如果它是(比如)TRemoteDataModule中的实用方法,那么您应该将它们提取到一个单独的类中作为类方法,并
Delphi 2006中的项目向导不适用于TRemoteDataModule,这个问题没有完全意义。单元测试在单独的项目中执行,而不是在DataSnap服务器中执行。通常,连接到数据库的测试是集成测试,而不是单元测试。你到底想测试什么?如果它是(比如)TRemoteDataModule中的实用方法,那么您应该将它们提取到一个单独的类中作为类方法,并在那里进行测试。您不必实例化应用程序服务器来执行单元测试。对不起,上面的答案很简洁,每当我在编辑帖子时点击return时,iPad就会发布帖子 dUnit设计用于执行单元测试,而您尝试做的不是单元测试 在以下情况下,测试不是单元测试:
- 它与数据库通信
- 它通过网络进行通信
- 它涉及到文件系统
- 它不能与任何其他单元测试同时运行
- 您必须对您的环境执行特殊操作(例如编辑配置文件)才能运行它
- 它不能孤立地运行
我在一些项目中直接使用了基本脚本语言,在另一个项目中使用了.NET汇编来驱动使用NUnit和C#的Delphi应用程序。虽然不是完美的,但NUnit/C#解决方案比我在执行功能/行为测试Delphi应用程序时看到的任何解决方案都要优雅。不过安装起来确实花了一些功夫。我不同意。IMHO表示,必须使用真实的客户机/服务器通信、多个客户机和多个处理对客户机/服务器应用程序进行单元测试。它有时被称为“压力测试”,而且总是值得的。…@A.Bouchez,我在哪里说过你不应该做集成测试?我没有;您绝对应该做集成测试。但是单元测试不同于集成测试@Craig同意,但是DUnit可以用来执行集成测试,我还没有看到专门为自动化集成设计的Delphi工具tests@mjn,我们使用TestComplete来完成这个。我同意Craig的观点。如果测试与数据库、文件系统、网络或应用程序无法控制的任何服务进行通信,那么它就不是单元测试。