gtest參數化測試程式碼範例

在玩轉 Google開源C++單元測試架構Google Test系列(gtest)之四 - 參數化中已經介紹過了如何使用gtest進行參數化測試。在twitter上應 @xlinker 的要求,我在這裡提供一個參數化的完整例子。這個例子也是我當初瞭解gtest時寫的,同時這個例子也在《玩轉》系列中出現過。最後,我再附上整個demo工程,裡面有一些其他的樣本,剛開始上手的同學可以直接拿我的demo工程去試,有任何疑問都歡迎提出。以下是使用TEST_P宏進行參數化測試的樣本:Code

編寫優美的GTest測試案例

使用gtest也有很長一段時間了,這期間也積累了一些經驗,所以分享一下。GTest為我們提供了便捷的測試架構,讓我們只需要關注案例本身。如何在GTest架構下寫出優美的測試案例,我覺得必須要做到:案例的階層一定要清晰 案例的檢查點一定要明確 案例失敗時一定要能精確的定位問題 案例執行結果一定要穩定 案例執行的時間一定不能太長 案例一定不能對測試環境造成破壞 案例一定獨立,不能與其他案例有先後關係的依賴 案例的命名一定清晰,容易理解

gtest中如何跳出當前測試案例

在前面的玩轉gtest - 斷言中, 我們提到了ASSERT_*系列的斷言只是在當前函數返回,並非退出當前測試案例,因為ASSERT_*系列是通過return來實現的(因此 ASSERT_*系列不能在傳回值不為void的函數內出現)。要退出當前測試案例,一個最簡單的方法就是通過拋異常,然後讓gtest捕獲這一異常。樣本如下:Code highlighting produced by Actipro CodeHighlighter

將後台服務進程和視窗設定進程整合為一個程式

最近寫了兩個程式,都可以以服務進程和視窗進程兩種方式運行,由於兩類程式都需要入口程式,所以很簡單,只要在入口方法代碼中判斷進入相應分支即可,下面總結一下開發心得。第一個程式,視窗進程和服務進程的功能一樣,都查詢一些資料並發送Email。視窗程序需要從捷徑加一個參M來運行(按第二個程式的方式可以不用參數判斷)。代碼如下: 1    class Program 2    { 3        /**//// <summary> 4        /// 應用程式的主進入點。 5     

瘦用戶端那些事 – 遠程傳輸協議

上篇說到了關於瘦用戶端的一些現狀和遐想,接下來我們開始探索這種技術實現的可能。要實現瘦用戶端,最重要的是選擇一種用戶端和服務端都能理解的溝通方式,這種溝通方式就是通訊協議,或者遠程傳輸協議。本文不討論Onlive之類的公司制定的私人未公開的傳輸協議,而是討論一些現有的通用協議。其實大家對這些通用協議並不會陌生,他們分別是微軟的RDP協議、Citrix的ICA協議、VNC的RFB協議、MIT的X11協議等等。 常見協議列表: Software Protocol License Citrix

發布基於GAE的個人Wiki系統 – NancyWiki

介紹一個周末的時間,我寫了這個Wiki系統。NancyWiki是基於Google App Engine開發的,使用的語言是Python。Wiki標記語言採用的是Markdown,因為它簡單,易用。NancyWiki致力於打造使用者真正想要的個人Wiki系統。多看書,多學習,多記筆記,就用NancyWiki! NancyWiki尊崇的原則:盡量保持簡單,實用。NancyWiki保持了代碼的精簡,一共3個python檔案:main.py, models.py,

NancyWiki1.0.1更新 – 代碼自動著色

NancyWiki是基於Google App Engine開發的,使用的語言是Python。Wiki標記語言採用的是Markdown,因為它簡單,易用。 NancyWiki致力於打造使用者真正想要的個人Wiki系統。多看書,多學習,多記筆記,就用NancyWiki!看到有一些朋友下載並且使用NancyWiki,感到很欣慰!於是這個周末對NancyWiki進行了一些更新,希望使用NancyWiki的朋友之後能繼續給我提意見,讓NancyWiki越來越好用!NancyWiki1.0.1版本更新如下:

Google App Engine的14宗罪

最近一位老外朋友很鬱悶,使用Google App Engine平台,花了15000歐(), 卻用的很不爽。於是耐心的寫了一篇《Goodbye Google App Engine》,引來眾人圍觀,其中還包括Google的工程師親臨指導。我也是Google App

三年之癢

  眼看就要工作滿三年了,對於大多數人來說是一個特殊的時期,對於我來說,也不例外。我也常常在想,我自己的定位是什麼,我以後想要做什麼,我該怎麼選擇,才能實現自己的價值和夢想。  思緒回到三年前……  我畢業於當時全國排名14左右的中南大學,學的專業是也是該校專業排名僅次於同濟清華的土木工程。我沒有像大多數人一樣,選擇去設計院,或者鐵路局,工程局。我義無反顧的選擇了金山軟體,當時的我,幾乎沒有任何的猶豫。因為我相信,這就是我未來要走的路。  金山軟體是我夢想的地方,很早之前求伯君就是我的偶像。在高

瘦用戶端那些事 – 開篇

人類活動最大的成本花費在哪裡?我認為在溝通和學習上。我們從哇哇落地開始,就在不斷的學習前人總結的經驗。學校教育,大大加速了這一進程。隨著互連網的發展,人們可以自由的分享知識和經驗,使得我們平時遇到的問題基本上都可以從互連網上找到答案。因此,互連網當之無愧為人類最偉大的發明之一。它減少了多少人們溝通和學習的成本啊!這個系列裡,我要說說瘦用戶端的那些事。涉及的知識都是來自互連網,所以,要感謝Google,感謝Wikipedia。最後,我將我學習和總結的知識再回饋回互連網,希望能對他人有所協助,有所啟

TWiki安裝和使用心得

 TWiki是一個開源(GPL)的wiki程式。軟體定位為“靈活、強大、便於使用的企業協作平台”,運行於Perl環境。擁有編程技能的人可以使用變數建立動態網頁面,譬如內容表格,或者嵌入式搜尋結果的頁面。預設內建所見即所得 (WYSIWYG)編輯器,完善的使用者權限系統,不需要任何資料庫,完全基於檔案目錄的格式化引擎。TWiki部署起來稍微有點複雜,下面是我在Ubuntu上部署TWiki的一些心得。1. 環境準備Code highlighting produced by Actipro

配置Integration Services服務來解決:無法為此請求檢索資料。(Microsoft.SqlServer.SmoEnum)

Integration Services展開時出現錯誤:無法為此請求檢索資料。(Microsoft.SqlServer.SmoEnum)解決辦法:可以通過修改設定檔來解決該問題:Also See SQL Server 2005 聯機叢書:配置Integration Services服務Microsoft SQL Server 2005 Integration Services (SSIS) 包含一個用於配置 Integration Services 服務的設定檔。 預設情況下,該檔案位於檔案夾

Google Test交流與測試開發經驗總結

昨天晚上做的一個講座。想了很多,希望對這幾年來的測試開發工作做一個總結。PPT花了一些心思,盡量做到配圖,每個Slide盡量少的字,代碼盡量的短,盡量把我以前遇到的問題,總結的內容都囊括進去。也是我做的最長的一個示範稿,一共56頁。年底了,心情有些低落。講座開始時,才發現今天還沒開口說過兩句話,再加上有點緊張,口乾舌燥,講的效果不是很好。如何讓自己講的東西變得生動,以及如何組織自己的語言,達到通順和連貫,是我以後需要提高的。 GTest交流與經驗總結View more

一條語句簡單解決“每個Y的最新X”的SQL經典問題

“每個Y的最新X”是一個經典的SQL問題,工作中經常碰到。當然不是“按Y分組求最新的X值”那麼簡單,要求最新X的那條記錄或主鍵ID。用一條SQL語句可以簡單的解決此問題。產生執行個體表和資料:--建立表CREATE TABLE dbo.Tab    (    ID int NOT NULL IDENTITY (1, 1),    Y varchar(20) NOT NULL,    X datetime NOT NULL    )GO--插入資料INSERT INTO Tab(Y, X) val

發現tomcat的一個bug

apache-tomcat-6.0.20-srcpackage org.apache.catalina.util;  public final class RequestUtil {…/**     * Decode and return the specified URL-encoded byte array. It is assumed     * the string is not a query string.     *     * @param bytes The

腐爛中設計的特徵–Principles and Patterns讀書筆記一

原作者 Robert C Martin 1 Rigidity.剛性, 軟體越來越難於修改的趨勢。即使一個小的改動也會因為依賴關係而引發一系列其它模組的修改。因為越來越難以修改,最後老闆就下令不得修改。剛性由技術上升為政治2 Fragility 脆弱性每次修改都引發軟體多處崩潰的趨勢。崩潰經常發生在和修改處沒有概念上聯絡的位置。3 Immobility

從CEGUI源碼看代碼規範

CEGUI(Crazy Eddie’s

解決ORA-04091行觸發器中訪問變異表的難題

核心思路就是:在第一次插入時儲存值到包變數中,第二次插入時不再讀取表本身,轉而讀取包變數,可以成功解決這類難題。在工作中,需要為各個BOM的每個ITEM依次自動編號,不同BOM的ITEM的SEQ_NUMBER列都要

《卓有成效的程式員》讀書筆記一:加速你的開始菜單

最近正在讀《卓有成效的程式員》。這是一本另類但很有實效的書,相關評論豆瓣上已經有很多了,我就不羅嗦了。只講一下我已經實踐了的一些東西: 加速你的開始菜單 1 先把開始菜單設成傳統模式.右鍵點擊[開始]菜單,選擇[屬性]項,選中"經典[開始]菜單", 2

用schemaSpy製作資料庫文檔

Schemaspy是一款Java開發的資料庫文檔產生工具,是開源的。產生的資料庫文檔非常的漂亮,實用。最近探索了兩天終於會使用這個工具了。我接觸到這個工具是在開源的DotNet工作流程netBpm網站上看到netBpm的資料庫文檔。1、下載軟體JDK下載 http://java.sun.com/javase/index.jsp可以下載到最新版本SchemaSpy下載 SchemaSpyGraphviz - Graph Visualization Software 下載

總頁數: 61357 1 .... 4006 4007 4008 4009 4010 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.