如何在 Delphi 2006 的 Midas/DataSnap 项目中设置 DUnit 测试
编辑
如何将 Dunit 测试设置到 TRemoteDataModule Delphi 2006 中的项目向导不适用于 TRemoteDataModule
如何在 Delphi 2006 的 Midas/DataSnap 项目中设置 DUnit 测试
编辑
如何将 Dunit 测试设置到 TRemoteDataModule Delphi 2006 中的项目向导不适用于 TRemoteDataModule
这个问题并不完全有意义。单元测试在一个单独的项目中执行,而不是在您的 DataSnap 服务器中。通常,连接到数据库的测试是集成测试而不是单元测试。它到底是什么,正是您想要测试的?如果它是 TRemoteDataModule 中的实用程序方法,您应该将它们作为类方法提取到一个单独的类中,并在那里进行测试。您不必实例化应用程序服务器来执行单元测试。
很抱歉上面的简洁答案,只要我在编辑帖子时点击返回,iPad就会发布。
dUnit 旨在执行单元测试,而您要做的不是单元测试。
如果满足以下条件,则测试不是单元测试:
如果您遵循 SOLID 原则(尤其是单一职责原则),使用 dUnit 测试您的类(无需测试 Midas/DataSnap 相关逻辑)应该相当简单。实际上,您不需要测试 Midas/DataSnap 逻辑。
但是有一些方法可以对 Delphi 应用程序执行集成和行为测试。
就个人而言,我不会使用 TestComplete,因为它不能很好地与任何类型的 CI 服务器集成,并且测试以专有的二进制格式存储(这使得合并差异或维护任何源代码控制系统中的更改成为问题)。
您可以尝试dSpec,但我不确定 Jody Dawkins 是否会再维护它。
我在一些项目中直接使用了AutoIt BASIC 脚本语言,并且还使用它的 .NET 程序集来驱动使用 NUnit 和 C# 的 Delphi 应用程序。虽然不完美,但 NUnit / C# 解决方案比我在执行功能 / 行为测试 Delphi 应用程序时看到的任何东西都要优雅。设置它确实需要一些努力。