第一章 ut單元測試——googletest通用構建說明
第二章 ut單元測試——gtest框架例項總結
本文使用linux環境。(後續補充)
example.cpp(示例):
#include
intmain()
cmakelists.txt.in:
cmake_minimum_required(version 2.8.12)
project(googletest-download none)
include(externalproject)
externalproject_add(googletest
git_repository
git_tag master
source_dir "$/googletest-src"
binary_dir "$/googletest-build"
configure_command ""
build_command ""
install_command ""
test_command ""
)
cmakelists.txt:
cmake_minimum_required(version 3.16)
project(googletestexpl)
# download and unpack googletest at configure time
configure_file(cmakelists.txt.in googletest-download/cmakelists.txt)
execute_process(command $ -g "$" .
result_variable result
working_directory $/googletest-download )
if(result)
message(fatal_error "cmake step for googletest failed: $")
endif()
execute_process(command $ --build .
result_variable result
working_directory $/googletest-download )
if(result)
message(fatal_error "build step for googletest failed: $")
endif()
# prevent overriding the parent project's compiler/linker
# settings on windows
set(gtest_force_shared_crt on cache bool "" force)
# add googletest directly to our build. this defines
# the gtest and gtest_main targets.
add_subdirectory($/googletest-src
$/googletest-build
exclude_from_all)
# now simply link against gtest or gtest_main as needed. eg
add_executable(example example.cpp)
target_link_libraries(example gtest_main)
add_test(name example_test command example)
# batch compile samples
file(glob_recurse utfiles $ samples/*_unittest.cc)
file(glob_recurse srcfiles $ samples/*[0-9].cc)
list(length utfiles utfileslen)
message(status "utfileslen=$")
list(length srcfiles srcfileslen)
message(status "srcfileslen=$")
# get all srcs
foreach(srcfile in lists srcfiles)
file(relative_path srcfilename $/samples $)
endforeach(srcfile in lists srcfiles)
message(status "srcfilenames=$")
# compile utfile with srcs
foreach(utfile in lists utfiles)
file(relative_path utfilename $/samples $)
list(find utfiles $ i)
# get filename without extension
get_filename_component(targetname $ name_we)
add_executable($ $ $)
target_link_libraries ($ gtest_main)
add_test(name $_test command $)
message(status "recipe $: test=$_test, target=$, ut=$, src=$, link=gtest_main")
endforeach(utfile in lists utfiles)
setup.sh:
mkdir build
cd build
cmake ..
make -j4
# test samples
../test_samples.sh
# test example
../test_example.sh
test_samples.sh:
# get this script path
curpath=
$(dirname
$(readlink -f "$0"))
echo
"entering build..."
cd$curpath/build
pwd# execute sample programs
forfilein`
ls -dv sample[0-9]*`
doecho
"testing $file..."
./$file
done
test_example.sh:
# get this script path
curpath=
$(dirname
$(readlink -f "$0"))
echo
"entering build..."
cd$curpath/build
pwd# execute sample programs
forfilein`
ls -dv example`
doecho
"testing $file..."
./$file
done
readme.md:
a ****** framework implementation of googletest.
linux command:
1. chmod +x setup.sh test_samples.sh test_example.sh
2. ./setup
測試結果待補充。
以上就是今天要講的內容,本文僅僅簡單介紹了gtest框架的使用,而gtest框架提供了大量能使我們快速便捷地模擬和測試的工具和方法。
慕課軟體質量保證與測試 第二章 單元測試
3 下一章 1單選 1分 在軟體生命週期的哪乙個階段,軟體缺陷修復的成本最高 a.需求分析 編制產品說明書 b.產品發布1.00 1.00c.編碼d.設計 正確答案 b 2單選 1分 下列中不屬於測試原則的是 a.找到的缺陷越多,軟體遺留的缺陷就越少1.00 1.00 b.完全測試程式是不可能的 c...
第二章 測試
測試用例編號 查詢的主鍵 查詢結果 1 衣服褲子 顯示 2全選 取消已選的專案勾選全選按鈕 未顯示任何結果 查詢結果分析 1 在對 衣服褲子 主鍵進行查詢時,查詢結果顯示正常資料 沒有顯示輸入模組金額為 aa 的資料 證明資料沒有插入成功,而頁面顯示插入成功,說明是 只判斷是否按下了 新增記錄 按鈕...
第二章測試
單選題 在創業者必備的成功基因中不屬於 人和 因素的是 a.個人品格 b.能力 c.資源 d.大趨勢 大趨勢 單選題 企業營業額0到100萬,處於企業創業期,此時企業的特點為 a.產品經歷市場檢驗 b.打造系統 c.統領行業 d.制定標準 產品經歷市場檢驗 單選題 企業營業額100萬到1000萬,企...