《C++程式設計實踐與技巧:測試驅動開發》 環境搭建遇到的坑
在環境搭建時,遇到了一些資源的版本已經更新的問題,主要是 Google Mock,所以整理了搭建環境時與書本不同的修改。我使用的環境是 Ubuntu 16。
Google Mock
Google Mock 專案已經切換到 Github,網址為:https://github.com/google/googletest。
安裝過程
下載下來後檔案解壓路徑到: ~/Desktop/projects/googletest-release-1.8.0
cd ~/Desktop/projects/googletest-release-1.8.0
mkdir mybuild && cd mybuild
cmake ..
make
書的原始碼中需要用到 GoogleTest 的標頭檔案和庫,進入原始碼的code/c2/ 目錄,CMakeLists.txt 的內容為:
project(chapterFirstExample)
cmake_minimum_required(VERSION 2.6)
include_directories($ENV{GMOCK_HOME}/include $ENV{GMOCK_HOME}/gtest/include)
link_directories($ENV{GMOCK_HOME}/mybuild $ENV{GMOCK_HOME}/gtest/mybuild)
add_definitions(-std=c++0x)
set(CMAKE_CXX_FLAGS "${CMAXE_CXX_FLAGS} -Wall")
set(sources
main.cpp
SoundexTest.cpp)
add_executable(test ${sources})
target_link_libraries(test pthread)
target_link_libraries(test gmock)
target_link_libraries(test gtest)
由於 mybuild 路徑與 CMakeLists.txt 裡的需求不同,於是需要對編譯出來的 GoogleTest 重定向。執行如下。
cd ~/Desktop/projects/
mkdir googlemock && cd googlemock
ln -sf ~/Desktop/projects/googletest-release-1.8.0/googlemock/include/ include
ln -sf ~/Desktop/projects/googletest-release-1.8.0/mybuild/googlemock/ mybuild
mkdir gtest && cd gtest
ln -sf ~/Desktop/projects/googletest/include/ include
ln -sf ~/Desktop/project/googletest-release-1.8.0/mybuild/googlemock/gtest/ mybuild
libcurl
安裝 libcul 的時候可能會出現未找到 OPENSSL 的提示,可以執行如下操作。
sudo apt-get install libssl-dev
執行示例程式碼
由於程式碼裡提供的示例很多不全,暫時發現 code/c2/40 裡的專案可行的,進入到 code/c2/40 執行如下操作,就能看到結果。
mkdir build && cd build
cmake ..
make
./test
相關文章
- webpack與SPA實踐之開發環境搭建Web開發環境
- Vagrant 搭建開發環境實踐開發環境
- 面向 C++ 的測試驅動開發C++
- docker搭建大規模測試環境的實踐Docker
- Web 滲透測試入門:環境搭建、流程與實踐Web
- 測試驅動開發在專案中的實踐
- Eclipse + MinGW搭建C++開發環境踩坑EclipseC++開發環境
- PCIE XDMA 開發環境搭建以及環路測試開發環境
- SOA 環境中的測試驅動的開發,第 1 部分: 測試資料對映
- Windows 下 Homestead 環境搭建遇到的坑Windows
- 搭建自動化測試環境
- OCM實驗-測試環境的搭建
- 如何快速搭建微服務開發測試環境微服務
- Linux裝置驅動開發詳解:入門與程式設計實踐Linux程式設計
- Flutter入坑指南:開發環境搭建Flutter開發環境
- Flutter開發環境搭建-踩坑指南Flutter開發環境
- 配置開發環境、生成環境、測試環境開發環境
- 微信小程式開發系列(一) :開發環境搭建和微信小程式的檢視設計與開發微信小程式開發環境
- Ubuntu之C++開發環境的搭建UbuntuC++開發環境
- "測試"驅動開發
- vivo 全鏈路多版本開發測試環境落地實踐
- UEFI原理與程式設計(一):環境搭建程式設計
- 驅動篇——開發環境配置開發環境
- Linux C++ 開發1 - 搭建C++開發環境LinuxC++開發環境
- 談“測試驅動的開發”
- Scrum敏捷軟體開發之技術實踐——測試驅動開發TDDScrum敏捷
- 驅動開發:配置Visual Studio驅動開發環境開發環境
- 【敏捷開發】驅動測試開發敏捷
- 自動化測試 selenium 環境搭建
- Laravel最佳實踐–事件驅動程式設計Laravel事件程式設計
- Laravel 最佳實踐 -- 事件驅動程式設計Laravel事件程式設計
- Laravel最佳實踐 -- 事件驅動程式設計Laravel事件程式設計
- C++入門(3):C++開發環境搭建C++開發環境
- ubuntu 8.04 C/C++開發環境搭建UbuntuC++開發環境
- 搭建S3C6410開發板的測試環境S3
- Vagrant homestead (laravel)開發環境搭建(填坑)Laravel開發環境
- cozmo 入坑日記及開發環境搭建開發環境
- 測試驅動開發(TDD)的思考