Node JS - C ++插件的测试策略

时间:2016-09-26 06:04:02

标签: javascript c++ node.js debugging tdd

我为C++编写了一个或两个原生Node JS模块,但总是倾向于为Javascript中的模块编写测试。这是一个有效的测试策略,还是有更好的方法来测试(也许还可以调试)本机模块代码?

1 个答案:

答案 0 :(得分:1)

Purist可能会说它是“整合”测试,而不是“单元”测试。但我个人并不介意。实际上,当您的模块从JS中使用时,测试这个方面也是有意义的,如果所有测试都以这种方式完成,那么您就可以非常彻底地测试JS-> C ++调用。 / p>

所以我认为这是有效的策略。如果它也足够快(JS-> C ++测试套件的开销不到1秒),我会坚持下去。

如果JS测试套件很慢,我会重新考虑它,并使用一些C ++框架添加纯C ++单元测试(调用该模块的公共API的C ++部分)。

(我个人尝试https://github.com/unittest-cpp/unittest-cpp作为第一个,并坚持使用它,因为我喜欢它的语法和“复杂性”,快速构建,没有依赖关系,当我处于“温暖”模式时对于之前编译的所有内容,进行小型C ++更改和重新运行测试通常需要大约0.5秒来编译+运行(〜数百个简单测试)+显示结果。

如果你这样做,你仍然应该在JS端进行一些集成测试,以验证模块在从JS调用时也能正常工作,而不仅仅是在C ++中。

如果您正在询问如何从JS单独编译+运行纯C ++:取决于您的环境设置,我使用单独的IDE来处理C ++源代码。这当然允许我本地调试C ++。