タグ

ブックマーク / goyoki.hatenablog.com (3)

  • TDDと相性の良いC、C++のユニットテスティングフレームワークとは - 千里霧中

    これまでTDDで使えるC、C++向けのユニットテスティングフレームワークをいくつか紹介してきました。その一連の紹介の総括として、今回は、C、C++でのTDDを対象とした場合、どのようなテスティングフレームワークが望ましいのかについてまとめたいと思います。 TDD向けのテスティングフレームワークに求められる条件 TDD向けのテスティングフレームワークに求められる条件については、以前Advent Calender向けの「TDDのはじめかた #TddAdventJp - 千里霧中」の冒頭で触れさせて頂いています。少し加筆して下記に転載します。 軽快にテストを実行できる。TDDにとって、実行に1秒以上かかるテストはもう遅すぎます。そのような実害ある遅さの直接的原因になるフレームワークは避けた方が無難です。 簡潔なテストコードでテストを実装・実行できる。Assertion MethodやTest M

    TDDと相性の良いC、C++のユニットテスティングフレームワークとは - 千里霧中
    vcc
    vcc 2018/08/01
    C++では、Google Test、CppUTest。テストコードが簡潔、自動テストディスカバリ機能を搭載しており、テストも軽快で出力も見やすい。Cについては、Unity、CppUTest
  • 組み込み開発へのテスト駆動開発の導入 その2 - 千里霧中

    組み込み開発へのテスト駆動開発の導入 - 千里霧中の続きです。 実機を伴うテストの問題点 では次に実機を伴うテスト環境についてですが、こちらはターゲットに似た実機環境を用意する方法と、テスト専用の機器上で動かす方法があると思います。 まず後者については、有力な候補ではないと思います。テスト用デバイスというのはパッケージソフトウェア以上に高額な価格設定がされているのが一般的な上、ターゲットと大分違う条件でテストをせざるを得ないためです。おそらくこのような環境を活用できるのは、よほど恵まれた環境か、特定製品に専業化した環境ぐらいに限られると思います。 一方前者に関しては、組み込み開発では最も一般的に行われている手段ではないかと思われます。例えば試作段階のターゲットの基盤を最低限のプロセッサが動作できるように一時的に改造して、Tera Termといった端末でファームウェアと通信したり、メモリダン

    組み込み開発へのテスト駆動開発の導入 その2 - 千里霧中
  • C言語向けユニットテスティングフレームワーク Unityについて - 千里霧中

    C言語のユニットテストのフレームワークには、昔はCUnit+自前のテストコードジェネレータを使用していたのですが、前々からUnityの使用機会が増えています。 理由は色々ありますが、自分の場合だと以下の点で便利なのが特に大きいです。 移植性に優れるため組み込み環境(ホスト、ターゲット両方で)でも使える 標準で自動テストディスカバリ機能(テストランナーの自動生成)を持っているので、そのままTDDのような軽快なテスティングを実現できる 特に組み込みCでTDDをやる場合は、PCUnitと並ぶ有望なテスティングフレームワークだと感じます。 少し前にTest Driven Development for Embedded Cの読書会にて解説を行う機会もあったので、今回Unityについて簡単にまとめたいと思います。 特徴 組み込み開発も対象に含むC言語向けユニットテスティングフレームワーク サイト:

    C言語向けユニットテスティングフレームワーク Unityについて - 千里霧中
  • 1