[英]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.