什么是测试 DLL 函数的最佳方式?

我想测试我的函数和流程。Lua 脚本是一种测试方式,我可以从 Lua 中加载 C 库并调用函数。使用 Lua 的最大优势是如果您想更改调用场景,您只需更改 Lua 脚本文件并执行即可。

但是我想知道是否有更好的方法来测试 DLL 代码?

点赞
用户1607442
用户1607442

在宇宙中不存在所谓的“最佳方式”。需要引用。

然而,目前被广泛接受的实践是编写自动化单元测试。也就是使用单元测试框架,让你能够表达使用库代码的不同情况。你可以把测试想象成一个巨大的小程序集合,使用函数和类来验证它们的正确性,除了你不需要编写主函数、makefiles、打印和所有乏味的内容都为你处理。测试可以独立通过或失败。通常你可以给它们命名并组织成块。当测试失败时,框架通常会解释为什么及其原因,从而减少调试所需的时间和精力。

单元测试经常自动构建和运行,例如在IDE或在重建库之后通过监视脚本自动运行,或在将代码提交到版本控制系统之后由持续集成系统自动运行。

通常你要用与你的库相同的语言编写测试(只是比较简单),但如果你的库被设计与其他语言相互接口,你当然也可以使用任何或多个这些语言。

基于单元测试,有一整个程序方法学的分支,叫做Test-driven development(TDD)。简而言之,TDD要求你先为给定的情况编写一个单元测试,然后只有为了让测试通过而编写最简单的库代码。

C++单元测试框架的一些例子(没有特定顺序):

2017-11-14 07:04:11