德尔福 – 当我有一个新单位时,为什么’使用单位’消失了?
发布时间:2020-12-15 09:44:17 所属栏目:大数据 来源:网络整理
导读:我使用DUnit框架为我的应用程序提供了一个单元测试项目. 这个项目有一个由$IFDEF包围的单元,用于在xml文件中输出测试结果,而不是gui或者只是命令行.通过切换Build配置启用 XML_OUTPUT定义. program DelphiCodeToDoc_Tests;uses TestFramework,TextTestRunner
我使用DUnit框架为我的应用程序提供了一个单元测试项目.
这个项目有一个由$IFDEF包围的单元,用于在xml文件中输出测试结果,而不是gui或者只是命令行.通过切换Build配置启用 XML_OUTPUT定义. program DelphiCodeToDoc_Tests; uses TestFramework,TextTestRunner,Sysutils,Forms,GUITestRunner,{$IFDEF XML_OUTPUT} XmlTestRunner2 in 'DUnit_addonXmlTestRunner2.pas',{$ENDIF} DCTDSetupTests in 'IntegrationTestsDCTDSetupTests.pas',... 这非常有效. 测试项目现在是: uses TestFramework,DCTDSetupTests in 'IntegrationTestsDCTDSetupTests.pas',... MyNewUnit in 'IntegrationTestsMyNewUnit.pas'; 如您所见,测试XML_OUTPUT已消失…每次添加单元时,Delphi IDE都会删除此测试. 你知道我为什么以及如何避免它? 解决方法
只有实际使用的代码才会被编译到您的应用程序中,因此通常情况下,在Uses子句中使用未使用的单元并不会有什么坏处.
在IDE中运行程序时,可以看到链接到应用程序的所有代码.您应该在所有已编译的代码旁边看到蓝点. 需要注意的是,您应该检查所关注单元的初始化部分.初始化部分中的任何代码都是通过包含单元自动包含的,因为该部分中的任何代码都会在应用程序启动后立即运行.如果需要,您可以在单元的初始化部分中添加编译器指令,以避免链接和运行任何初始化代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |