繁体   English   中英

单元测试D库

[英]Unit testing D library

内置的单元测试功能( unittest {...}代码块)似乎只在运行时激活。

如何在没有main功能的库中激活单元测试?

这与这个SO问题有些相关,尽管那里接受的答案是通过main功能处理解决方法。

作为一个例子,我希望单元测试在仅包含此代码的文件上失败:

int foo(int i) { return i + 1; }

unittest {
  assert(foo(1) == 1); // should fail
}

你会注意到我没有在顶部声明module 我不确定这对于这个具体问题是否重要,但实际上我会在顶部有一个module声明。

如何在没有主要功能的库中激活单元测试?

您可以使用DMD的-main开关,或RDMD的--main开关,一个空添加main功能设定编译源文件。 这允许为库创建单元测试二进制文件。

如果您使用配音, dub test将自动执行上述操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM