![]() |
1
2
我实现这一点的方法是创建一个程序来获取现有的DPR文件,并生成一个包含文件,然后在我的测试应用程序中使用该文件。您可能可以使用tstringlist来完成大部分操作。这个项目将在构建测试用例之前运行。
然后在测试DPR中,在项目use子句中添加以下代码。由于use子句include文件已经包含分号,请在常规测试单元末尾使用include文件:
我的假设是,您正在执行延迟/松散绑定,这就是为什么首先必须执行所有这些操作(除了DPR中的单元外,未引用其他单元)。否则,只使用任何一个单元就足以执行初始化代码。 编辑 另一种选择是让第一个程序生成一个完整的单元,然后在测试应用程序中使用这个单元。这将从所有引用的单元在初始化/终结代码中编译。然后,您的测试应用程序必须使用您提到的全局存储库才能访问这些对象。 这里的一个重要部分是确保测试项目搜索路径包含其他项目的源目录。 |
![]() |
2
2
不,没有办法做到这一点(好吧),但这可能无关紧要。IDE维护着DPR,它对事物的引用方式非常挑剔。在其他单元中工作良好的技术,如包含文件,在DPR中不会可靠地工作。当然,它们会编译,直到您做了一些导致IDE修改DPR的事情,这时DPR代码可能会被破坏。 但是,在DPR中不必严格包括所有引用的文件。这是一个好主意,因为它似乎使IDE更快乐和更快,但是如果DPR只引用了您的测试,而测试引用了您的主项目中的单元,那么一切都将继续工作。 |
![]() |
3
0
我总是尽量减少.dpr中的引用数:
并且总是尽可能地使用最小(相对)路径。 一般来说,只存在一个小问题,通过文件浏览单元->open有时会弄乱当前的工作目录,从而使相关路径的“根目录”变得混乱。解决方法是对basedirs中的某个单元执行文件-gt;打开。 |
![]() |
mg610 · 如何开始C++单元测试 2 年前 |
![]() |
Phil Gunning · 使用嵌套函数更改进行模拟测试 2 年前 |
![]() |
shilin agre · 在Python中测试修饰函数 2 年前 |
![]() |
SlipScout · Unittest只传递单个值,而不是获取多个值 2 年前 |
![]() |
Alex · 从实际对象的实例返回默认模拟结果 3 年前 |