首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Midas/DataSnap项目中的DUnit测试

Midas/DataSnap项目中的DUnit测试
EN

Stack Overflow用户
提问于 2008-10-29 18:54:31
回答 2查看 1.1K关注 0票数 2

如何在Delphi2006的Midas/DataSnap项目中设置DUnit测试

编辑

如何将Dunit Test设置为TRemoteDataModule Delphi2006中的项目向导不能与TRemoteDataModule一起使用

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-10-29 19:14:12

这个问题并不完全有意义。单元测试在单独的项目中执行,而不是在DataSnap服务器中执行。通常,连接到数据库的测试是集成测试,而不是单元测试。这到底是什么,你到底想要测试什么?如果是TRemoteDataModule中的实用方法,您应该将它们提取到单独的类中作为类方法,并在那里对它们进行测试。您应该不必实例化应用程序服务器来执行单元测试。

票数 4
EN

Stack Overflow用户

发布于 2011-12-02 23:05:28

对于上面的简短回答,很抱歉,当我在编辑帖子时点击时,iPad帖子就会返回。

dUnit是为执行单元测试而设计的,而您尝试做的不是单元测试。

如果满足以下条件,则测试不是单元测试:

  • 它与数据库
  • 通过网络通信
  • 它触及文件系统
  • 它不能与任何其他单元测试同时运行
  • 您必须对您的环境执行特殊操作(如编辑配置文件)才能运行它。
  • 它不能独立运行

如果您遵循可靠的原则(特别是单一责任原则),那么使用dUnit测试您的类(不测试Midas/DataSnap相关逻辑)应该是相当简单的。实际上,您不应该需要测试Midas/DataSnap逻辑。

但是有一些方法可以在Delphi应用程序上执行集成和行为测试。

就我个人而言,我不会使用TestComplete,因为它不能与任何类型的CI服务器很好地集成,并且测试是以专有的二进制格式存储的(这使得在任何源代码控制系统中合并差异或维护更改都是有问题的)。

你可以试试dSpec,但我不确定Jody Dawkins是否还在维护它。

我在一些项目中直接使用了Delphi脚本语言,还在另一个项目上使用它的.NET程序集驱动了一个使用NUnit和C#的AutoIt应用程序。虽然不是完美的,但NUnit / C#解决方案比我在执行功能/行为测试Delphi应用程序时看到的任何解决方案都要优雅。但它确实需要一些努力才能设置好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/247978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档