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++。
相关文章:
- 从C++本机插件更新Vector3数组
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 使用CMake创建QML插件
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- 尽管测试成功,CppUnit测试核心仍被丢弃.为什么
- 数据成员SFINAE的C++17测试:gcc vs clang
- 如何使用重载的相等(==)运算符向测试用例添加描述
- C++17中的并行执行策略
- 为什么二进制搜索在我的测试中不起作用
- 从父数组测试用例构造二叉树失败
- 试图对缓存进行跨步测试,但程序并没有结束
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- OpenGL在启用深度测试时不会丢弃我的碎片
- 为测试目标创建具有不同源文件夹的文件
- 如何测试高级Qt插件?
- 用于运行测试和浏览报告的Eclipse (CDT)插件
- 持续集成测试插件系统| Travis CI
- Node JS - c++插件的测试策略
- C 插件 Jenkins 和单元测试框架支持?
- 插件的初始化程序问题.测试