2015-03-03 81 views
3

我們正在爲node.js.寫一個v8插件。單元測試C++ v8插件

插件(正如你可能知道的)是一個C++的DLL。

我們該如何進行單元測試?

簡單的方法是使用node.js腳本從addon dll調用我們的導出函數。但這不是一個真正的單元測試,因爲它跨語言。

有沒有人成功地爲他們的插件DLL編寫C++單元測試?

我們已經嘗試過了,但卻遇到了意想不到的錯誤 - 我們懷疑這是因爲node-gyp庫期望在node.exe的上下文中調用所有內容,並且因爲我們的單元測試使用了addon dll「standalone」有些東西沒有正確設置,導致測試失敗。

如果您已經設法使用v8插件的C++單元測試,請詳細介紹實現它的最佳方法以及需要注意的事項?

問候, 拉伸

+0

什麼相關性你有沒有在你的考試中?你能提供一個代碼片段嗎? – smirnoff 2015-10-13 03:28:01

回答

0

我在想這個。但是,除非你有很多cpp邏輯,否則只需編寫cpp-js-combination,並單元測試js-implementation就可以了,如Nan -library,here中可以看到的那樣。在這裏意味着更少的邏輯意味着最好的情況下的cpp實現無論如何只是API粘合。

如果你擁有了自定義邏輯和寫[email protected]風格類(所以,簡單CPP),你當然可以測試通過,包括它的頭和做一些像普通CPP ...

void testEquality() 
{ 
    CPPUNIT_ASSERT(/* some test*/); 
}