エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

googletest

標準出力の出力先をすげかえる

Google Testが取り持つ縁で、このようなエントリに出会いました。 GoogleTest で標準出力、標準エラー出力をテストする - 質のないDiary H おぉ。Google Testで標準出力をテストする。ナイス! …。でも。名前空間を「internal」にしてあるように、そこは触れ…

Google Testをインストール、しないですませる方法

久々にGoogle Testネタ。 以前ちょっとふれて宿題としておきながら放置していたことを思い出したので、そのフォロー。 fused source files are included. バージョン1.5.0の時点で新機能(?)として「fused source files」が追加されています。先のエントリ…

Google Test 1.6.0 が正式リリース

RC2が公開されたのでブログでコメントしておこうと思いつつ。うかうかしていたら、あっというまに正式リリース。 GitHub - google/googletest: Google Test 最近はC++でまともにプログラミングをしていないのもあって、Google Testもトピックがあったときに…

Google Test 1.6.0 RCがでたみたいですね

昨日Googleグループにポストがありました。近日中にリリースするつもりなので、ダウンロードして試してみて問題がでないか連絡して、とのこと。 Dear users of Google Test, We plan to release Google Test 1.6.0 in the next few days. We need your help …

googletest1.5.0の使い方・その1:ビルドする

「書く書く詐欺」になりつつあった、googletest 1.5.0の解説。ようやく着手です。 今までは、「./configureしてmakeしてsudo make installすればOK」…という具合にやってきていたんですが、Version1.5.0ではこの方法を正式には採用しない方針に変更したよう…

Version1.5.0について書こうと思っているところ。

3ヶ月前にポストしたエントリで。1.4.0で変わったところをあらためてまとめようと思っていたのだけれど。そもそもコンパイルエラーになるという話で終わってしまいまして。 そうこうしているうちに、先月には1.5.0がリリースされてしまいまして。そんなわけ…

googletestはPOSIX規格上で動作させることが期待されている

(googletestについて知りたい方はこちらのエントリでまとめています)このあいだ書いたように、googletest 1.4.0では、Cygwin上で-ansiオプションをつけてコンパイルするとエラーになります。 よくわからないので中の人に訊いてみました。というか、Google …

googletestまとめ

導入 →googletestについてのまとめ テストの記述 基本的な使い方 →基本的な使い方 前処理・後処理のあるテスト →前処理・後処理のあるテスト アサーション 二種類のアサーション(FatalなアサーションとNonFatalなアサーション) 真偽を評価するアサーション…

その6:アサーションの解説(3)

例外を扱うアサーションマクロです。 Fatal assertionNonfatal assertionVerifies ASSERT_THROW(statement, exception_type) EXPECT_THROW(statement, exception_type) statement throws an exception of the given type ASSERT_ANY_THROW(statement) EXPECT…

その5:前処理・後処理のあるテスト

各々のテストで同様の前処理や後処理がある場合、テストケース単位で設定することができます。 まず、::testing::Testの派生クラスとしてテストケース名のクラスを定義します。そしてこのクラスに前処理が必要であればSetUp関数を、後処理が必要であればTear…

その4:アサーションの解説(2)

残りのアサーションマクロのうちの、2つのグループの解説です。 無条件の成功と失敗 ここでのマクロは値や式を評価せず、直接に成功あるいは失敗を生成します。 SUCCEED() 成功を生成するマクロです。ただし、このマクロが評価されたとしてもテストが成功し…

その3:実行時オプションと環境変数(1)

主立った実行時オプションについて説明します。 実行時オプションには(--gtest_list_testsをのぞいて)対応する環境変数があります。環境変数に値を設定しておくと、実行時オプションを指定したときと同じ効果が得られます。 オプション 環境変数 機能 --gt…

その2:アサーションの解説(1)

二種類のアサーション googletestのアサーションには大きく二種類のアサーションマクロが用意されています。 一つは評価が失敗した時点でテストを終了する、名前がASSERT_で始まるマクロ。もう一つは評価が失敗してもテストを継続する、名前がEXPECT_で始ま…

その1:基本的な使い方

最低限テストとして利用できる基本的な使い方について解説します。応用についてはおいおい。 テストを記述する テストは、関数のように見えるTESTマクロを使って記述します。 TEST(テストケース名, テスト名) { テスト本体 } 個々のテストは特に登録などの手…

その0:googletestについてのまとめ

探すとたくさんの情報があり、ドキュメントの翻訳をされているかたも少なくありませんが、自分で使うためにまとまった形にしておくと便利だと思い立ち、まとめてみることにしました。内容は“GitHub - google/googletest: Google Test”から、ドキュメントとし…