正片開(kāi)始
在之前的文章中, 介紹了如何實(shí)現(xiàn)一個(gè)類(lèi)似gtest的單元測(cè)試框架, 完整的項(xiàng)目代碼可以參考這里: https://github.com/kfggww/cutest . 近期對(duì)cutest的實(shí)現(xiàn)做了一些修改, 包括:
- Test Suite的聲明宏, 修改為T(mén)EST_SUITE
- 增加Test Suite的聲明宏TEST_SUITE_WITH. 可傳遞Suite的init和cleanup函數(shù), 在Suite中每個(gè)Case運(yùn)行之前和之后分別被調(diào)用, 用于公共資源的初始化和回收.
- Test Case的定義宏, 修改為T(mén)EST_CASE
- 增加Test Suite和Test Case的過(guò)濾功能. 通過(guò)命令行參數(shù), 過(guò)濾出要運(yùn)行哪些測(cè)試
- 優(yōu)化測(cè)試報(bào)告輸出
- 增加json格式的測(cè)試結(jié)果輸出
- 移除各種ASSERT
- 修改Test Case返回測(cè)試結(jié)果的方式. Case中需返回TEST_PASS/TEST_FAIL/TEST_IGNORE, 標(biāo)記測(cè)試結(jié)果
- 上傳至Ubuntu PPA, 方便安裝使用
對(duì)于Test Suite以及Test Case如何注冊(cè)到cutest之中, 實(shí)現(xiàn)原理還是使用"constructor"屬性函數(shù), TEST_SUITE/TEST_CASE宏會(huì)拼接出函數(shù)實(shí)現(xiàn), 在程序運(yùn)行時(shí), 在main函數(shù)調(diào)用之前, 這些"constructor"函數(shù)被調(diào)用, 完成Suite以及Case的注冊(cè). 具體實(shí)現(xiàn)可參考代碼片段, 或者上一篇文章中的介紹.
詳細(xì)信息看下面的視頻吧:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-659566.html
結(jié)尾彩蛋
更多l(xiāng)inux平臺(tái)技術(shù)研究和討論, 可以進(jìn)入我的qq群: 838923389文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-659566.html
到了這里,關(guān)于linux環(huán)境編程(1): 實(shí)現(xiàn)一個(gè)單元測(cè)試框架-2的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!