我们正在为 node.js 编写 v8 插件。
插件(如您所知)是一个 C++ dll。
我们如何对此进行单元测试?
简单的方法是使用 node.js 脚本从插件 dll 中调用我们导出的函数。但这不是真正的单元测试,因为它是跨语言的。
有没有人成功地为他们的插件 dll 编写了 C++ 单元测试?
我们已经尝试过,但遇到了意外错误 - 我们怀疑这是因为 node-gyp 库期望在 node.exe 的上下文中调用所有内容,并且因为我们的单元测试使用插件 dll“独立”,一些事情没有正确设置,导致测试失败。
如果您已设法对 v8 插件使用 C++ 单元测试,请您详细说明执行此操作的最佳方法以及需要注意的事项?
问候, 拉伸(stretch)
最佳答案
我也在考虑这个问题。但是除非你真的有很多 cpp 逻辑,否则只编写 cpp-js 组合并对 js 实现进行单元测试是完全可以的,正如在 Nan
-library here 中观察到的那样.更少的逻辑在这里意味着,在最好的情况下,cpp 实现无论如何只是 API 胶水。
当您确实拥有自定义逻辑并编写 Nan@2
风格的类(因此,直接的 cpp)时,您当然可以像常规 cpp 一样通过包含它的 header 来测试它并做一些......
void testEquality()
{
CPPUNIT_ASSERT( /* some test*/ );
}
关于node.js - 单元测试 C++ v8 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28824530/