2016-09-26 64 views
1

我已經爲Node JS編寫了一個或兩個本地C++模塊,但總是傾向於爲Javascript中的模塊編寫測試。這是一種有效的測試策略,還是有更好的方法來測試(也可能是調試)本機模塊代碼?Node JS - C++插件的測試策略

回答

1

Purist可能會說它是「集成」測試,而不是「單元」測試。但我個人不介意。實際上,如果您的模塊將使用來自JS的,則測試此方面也是有意義的,如果您的所有測試都是以這種方式完成的,那麼您真的會徹底測試JS-> C++調用。

所以我認爲這是有效的策略。如果它也足夠快(JS-> C++測試套件的開銷不到1秒),我會堅持下去。

如果JS測試套件很慢,我會重新考慮它,並用一些C++框架(調用模塊的公共API的C++部分)添加純C++單元測試。我親自嘗試https://github.com/unittest-cpp/unittest-cpp作爲第一個,並堅持下去,因爲我喜歡它的語法和「複雜性」,構建速度快,沒​​有依賴性,當我處於「溫暖」模式時,以前的所有內容編譯,執行小的C++更改和重新運行測試通常需要大約0.5s來編譯+運行(〜數百個簡單測試)+顯示結果)。

如果你這樣做,你仍然應該在JS方面進行一些集成測試,以驗證模塊在JS中調用時的效果,而不僅僅是在C++中調用。

如果您問的是如何編譯+從JS中單獨運行純C++:取決於您的環境設置,我使用單獨的IDE來處理C++源代碼。這也讓我也可以自然地調試C++。