gpt4 book ai didi

linux - 关闭第三方代码的单元测试执行

转载 作者:太空狗 更新时间:2023-10-29 11:08:43 41 4
gpt4 key购买 nike

我正在尝试了解如何使用“-unittest”dmd 开关来选择执行单元测试的文件。

我有一个文件“a.d”,其中包含一个单元测试 block 。文件“a.d”从包含自己的单元测试 block 的第三方模块(需要文件“b1.d”和“b2.d”)导入。

我不想在第三方代码中运行测试:我只想在广告中运行测试

如果我先编译第三方代码

dmd -c b1.d b2.d

然后尝试将它与我的代码以及复制的单元测试链接起来

dmd -unittest a.d b1.o b2.o

然后我得到一个错误,说 a.d 试图导入的 b1.d 中的模块在一个无法读取的文件中。

谁能告诉我如何完成这个?

谢谢!

最佳答案

你想做的是不可能的,因为 a.d 已经导入了 b1.db2.d。这意味着必须将这些模块传递给编译器。

如果你想链接一些 *.o 文件,那就更复杂了:你必须为它们编写一个接口(interface)(*.di 文件,就像为 *.so>) 因此使用这种机制来绕过单元测试不是一个好主意。 (虽然这可以工作,但有点重)。

任意选择一些单元测试的更直接的方法是使用特征 getUnitTests .这真的更像是要走的路。

关于linux - 关闭第三方代码的单元测试执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26449950/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com