Node JS - c++插件的测试策略
Node JS - Test strategies for C++ plugins
我已经为Node JS
编写了一两个本地C++
模块,但总是倾向于为Javascript
中的模块编写测试。这是一个有效的测试策略吗?或者是否有更好的方法来测试(也可能是调试)本地模块代码?
纯粹主义者可能会说这是"集成"测试,而不是"单元"测试。但我个人并不介意。实际上,因为你的模块将从JS中使用,所以测试这方面也是有意义的,如果你所有的测试都是这样做的,那么你就真正彻底地测试了JS-> c++调用。
所以我认为这是一个有效的策略。如果它也足够快(JS-> c++测试套件的开销不到1秒),我会继续使用它。
如果JS测试套件很慢,我会重新考虑它,并使用一些c++框架添加纯c++单元测试(调用模块的公共API的c++部分)。
(我个人尝试https://github.com/unittest-cpp/unittest-cpp作为第一个,并坚持使用它,因为我喜欢它的语法和"复杂性",构建速度快,没有依赖关系,当我对之前编译的所有内容处于"温暖"模式时,做小的c++更改和重新运行测试通常需要大约0.5s的编译+运行(~数百个简单测试)+显示结果)。
如果你这样做,你仍然应该在JS端进行一些集成测试,以验证模块在从JS调用时也能工作,而不仅仅是在c++中。
如果你问如何从JS单独编译和运行纯c++:取决于你的环境设置,我使用单独的IDE与c++源一起工作。当然,这也允许我在本地调试c++。
相关文章:
- 在禁用浏览器flash插件的情况下运行Karma测试
- Ionic V2和Cordova插件-未捕获类型错误:无法设置属性'测试'为null
- 内容安全策略 + 表单插件
- 在这个jQuery插件中,哪种策略更有意义
- 是否可以在量角器测试下将插件添加到 chromedriver
- JQuery 插件错误:对象 [对象对象] 没有方法“测试”
- 是否可以违反同源策略进行虚拟网络测试
- phonegap插件的自动测试
- react插件测试utils createElement出现问题
- 有没有一个karma插件可以突出显示jasmine测试覆盖(或未覆盖)的Javascript代码
- Cordova:在浏览器中测试警报插件
- 任何使用qunit测试异步jquery插件的方法,避免嵌入"start()"并保持异步
- 在指令和单元测试套件中使用原生javascript插件
- 我应该测试Javascript插件的私有函数吗?
- 如何使用jasmine和node从命令行测试jQuery插件
- 前端测试策略
- Node JS - c++插件的测试策略
- 浏览器测试JavaScript插件,在每个浏览器的独立版本
- 测试jQuery插件的资源/技术/注意事项
- 使用Mozmill测试Firefox插件