GoogleTest NDK 編譯

下載 googleTest 源碼

從github上直接clone 最新的googleTest源碼:
創(chuàng)建一個(gè)本地路徑,如:

c:/test/GoogleTest

然后進(jìn)入到該路徑下直接clone最新的代碼:

git clone https://github.com/google/googletest.git

NDK編譯

當(dāng)前的目錄結(jié)構(gòu):

c:/test/GoogleTest/googletest
c:/test/GoogleTest/googlemock

我們進(jìn)入到googletest子路徑中:

cd c:/test/GoogleTest/googletest
mdkir jni

創(chuàng)建jni路徑后宏怔,我們就需要對(duì)應(yīng)的Android.mk 和 Application.mk去調(diào)用NDK進(jìn)行編譯协饲。
可以從如下地址中下載NDK reference其jni路徑中的Android.mk及Application.mk并拷貝到本地的路徑中:

c:/test/GoogleTest/googletest/jni

拷貝完成后進(jìn)入到如下路徑并執(zhí)行ndk-build進(jìn)行編譯:

cd c:/test/GoogleTest/googletest/
ndk-build

如果還未配置ndk,那就需要先去安裝ndk并且配置到系統(tǒng)環(huán)境變量中去辽故。

當(dāng)編譯完成之后,會(huì)jni同級(jí)路徑下生成obj文件夾,在此路徑下回生成若干平臺(tái)的LIB文件翁潘,當(dāng)然可以根據(jù)需要修改Android.mk去生成對(duì)應(yīng)的動(dòng)態(tài)鏈接庫或者靜態(tài)鏈接庫等。

其Android.mk 參考如下:

# The MIT License (MIT)
#
# Copyright (c) 2013 Fukuta, Shinya.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_CPP_EXTENSION := .cc
LOCAL_MODULE := libgtest
LOCAL_C_INCLUDES := include .
LOCAL_SRC_FILES := ../src/gtest-all.cc

include $(BUILD_SHARED_LIBRARY)

其Application.mk 參考如下:

# The MIT License (MIT)
#
# Copyright (c) 2013 Fukuta, Shinya.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

APP_MODULES := libgtest
APP_STL := gnustl_static
NDK_TOOLCHAIN_VERSION := clang

Google Test的使用

Google Test如何使用本篇便不再贅述歼争,當(dāng)編寫了大量的測(cè)試用例進(jìn)行測(cè)試時(shí)拜马,有時(shí)我們需要僅針對(duì)部分用例進(jìn)行驗(yàn)證渗勘。

針對(duì)部分用例測(cè)試

假設(shè)我們編寫了如下測(cè)試用例:

------------------------------------------------------
TEST(case1, functionA_test) {
....
}

TEST(case1, functionB_test) {
....
}

TEST(case2,  functionA_test) {
.....
}

TEST(case2, functionB_test){
....
}

TEST(case3, functionA_test) {
....
}

int main(int argc, char **argv) {
  ::testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}
-------------------------------------------------

如果僅需要運(yùn)行case2模塊相關(guān)用例,編譯出來的可執(zhí)行文件為test.exe,那么:

//運(yùn)行所有case2的用例
test.exe --gtest_filter=case2.*
//運(yùn)行某個(gè)具體用例
test.exe --gtest_filter=case3.functionA_test

此時(shí)我們便可以實(shí)現(xiàn)按照實(shí)際需求進(jìn)行用例驗(yàn)證俩莽。
CSDN同步發(fā)布地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末旺坠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子扮超,更是在濱河造成了極大的恐慌取刃,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件出刷,死亡現(xiàn)場(chǎng)離奇詭異璧疗,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)馁龟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門崩侠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人坷檩,你說我怎么就攤上這事却音。” “怎么了矢炼?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵系瓢,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我裸删,道長(zhǎng)八拱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任涯塔,我火速辦了婚禮肌稻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘匕荸。我一直安慰自己爹谭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布榛搔。 她就那樣靜靜地躺著诺凡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪践惑。 梳的紋絲不亂的頭發(fā)上腹泌,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音尔觉,去河邊找鬼凉袱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的专甩。 我是一名探鬼主播钟鸵,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼涤躲!你這毒婦竟也來了棺耍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤种樱,失蹤者是張志新(化名)和其女友劉穎蒙袍,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缸托,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡左敌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了俐镐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡哺哼,死狀恐怖佩抹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情取董,我是刑警寧澤棍苹,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站茵汰,受9級(jí)特大地震影響枢里,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蹂午,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一栏豺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧豆胸,春花似錦奥洼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至估盘,卻和暖如春瓷患,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背遣妥。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工擅编, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人燥透。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓沙咏,卻偏偏與公主長(zhǎng)得像辨图,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子肢藐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,104評(píng)論 25 707
  • 一故河、NDK產(chǎn)生的背景 Android平臺(tái)從誕生起,就已經(jīng)支持C吆豹、C++開發(fā)鱼的。眾所周知,Android的SDK基于J...
    Ten_Minutes閱讀 3,502評(píng)論 1 27
  • Android游戲開發(fā)實(shí)踐(1)之NDK與JNI開發(fā)02 承接上篇Android游戲開發(fā)實(shí)踐(1)之NDK與JNI...
    AlphaGL閱讀 3,752評(píng)論 0 24
  • demo鏈接在文末痘煤。 在Android Studio中有3種方法生成so文件凑阶。 最初的時(shí)候,我曾經(jīng)使用過Visua...
    梧葉已秋聲閱讀 33,716評(píng)論 5 26
  • 沙面的街道衷快,古樓與老樹凝望宙橱。最后一次為游人擺出的微笑與優(yōu)雅也終于卸了,此刻的世界被夜晚屏蔽蘸拔,只想倚在愛人的懷里师郑,歸...
    沈小凹閱讀 409評(píng)論 0 2