atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
ViVa! Saborigineer.
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
ViVa! Saborigineer.
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
ViVa! Saborigineer.
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • ViVa! Saborigineer.
  • EclipseでCUnit

ViVa! Saborigineer.

EclipseでCUnit

最終更新:2007年05月16日 20:06

saborigineer

- view
管理者のみ編集可
showrss プラグインエラー: RSSが見つかりません。

EclipseでCUnitを使う

    CUnitとは、単体テストフレームワーク のことで、テストプログラムを作成すると、単体テストを自動で行うことができます。
    (検索すれば情報がたくさん出てくるので、詳細については省略します)

    今回、Linux(Cent OS)上のEclipseでCUnitを使ってみたので、覚え書き&まとめ。

  • EclipseでCUnitを使う
  • CUnitのインストール
  • Eclipseで使ってみる
  • 実際に使ってみる
  • 所感


CUnitのインストール

    公式サイトからrpmをダウンロードしてきてインストールするだけ。

    rootになって↓をやればOK。
    # rpm -ivh CUnit-2.1-0.i586.rpm

Eclipseで使ってみる

    CUnit(のライブラリ)を使用するには、コンパイル時に以下のようなオプションの指定が必要です。
    # gcc -L/usr/local/lib -lcunit hogehoge.c

    Eclipseで使用する際には、プロジェクトをプロパティを↓のように設定すればOK。


実際に使ってみる

    試しに↓のプログラムで実行。
#include <stdio.h>
#include <Cunit/Cunit.h>
#include <CUnit/CUError.h>
#include <CUnit/TestDB.h>
#include <CUnit/TestRun.h>
#include <CUnit/Automated.h>
#include <CUnit/Basic.h>
#include <CUnit/Console.h>
#include <CUnit/CUCurses.h>
#include <CUnit/Win.h>

/** 
 * (引数-1)する関数
 */
int vset(int no) {
    return no-1;
}

/**
 * テスト1: vset(5) == 4 ?
 */
void test1(void) {
   CU_ASSERT( vset(5) == 4);
}

/**
 * テスト2: vset(3) == 4 ?
 */
void test2(void) {
   CU_ASSERT( vset(3) == 4);
}

/**
 * メイン関数
 */
main() {
    CU_pSuite suite;    /**< テスト・スイートの宣言 */
    
//    int a = vset(5);
    //printf("%d\n", a);

    CU_initialize_registry();                       /**< CUnit初期化 */
    suite = CU_add_suite("suite",NULL,NULL);        /**< テスト・スイートの追加 */
    CU_add_test(suite, "vset(5) == 4 ?", test1);    /**< テスト1の追加 */
    CU_add_test(suite, "vset(3) == 4 ?", test2);    /**< テスト2の追加 */
    CU_basic_run_tests();                           /**< テスト実行(自動実行) */
    //CU_console_run_tests();                       /**< テスト実行(コンソールで操作しながら) */
    //CU_automated_run_tests();                     /**< テスト実行(結果をXMLに出力) */
    CU_cleanup_registry();                          /**< お掃除 */
 }


    これをコンパイルして実行すると、↓のような結果が得られる。
Suite: suite
  Test: vset(5) == 4 ? ... passed
  Test: vset(3) == 4 ? ... FAILED
    1. ../src/CUnit_Sample.c:30  - vset(3) == 4

--Run Summary: Type      Total     Ran  Passed  Failed
               suites        1       1     n/a       0
               tests         2       2       1       1
               asserts       2       2       1       1


所感

    まぁ、シンプルなプログラムになら適用しやすいかな、という印象。
    大規模システムに適用するには工夫が必要と思われる。

    CUnitで提供されるアサート・マクロの種類を見ても、ホワイトボックステストには向かない感じ。
    But、ブラックボックステストやデグレード確認等は楽にできそう。

    ただ、テストファースト的な開発でCUnitを使うと、
     「テストしやすいように設計しなきゃ!」
           ↓
     「よーし、関数の独立性を高くしちゃうぞ!」
           ↓
     「ここはもう少しシンプルにしておこう!」
    とかなって、割といい設計になりそうな気もしないでもない。

    …全ては「使い方次第」ってことでしょうか (^^ゞ


-おしまい
「EclipseでCUnit」をウィキ内検索
LINE
シェア
Tweet
ViVa! Saborigineer.
記事メニュー

Menu

  • トップページ

Main Contents

  • SoborigineerのTips
  • 日々の戯言


Other Contents

  • Link
  • プロフィール



Update History

取得中です。



  • @wiki

記事メニュー2
Today : -
Yesterday : -
Total : -


最近更新されたページ
  • 6668日前

    Eclipse
  • 6668日前

    EclipseでCUnit
  • 6668日前

    SoborigineerのTips
  • 6755日前

    日々の戯言/2007年02月18日
  • 6755日前

    日々の戯言/カテゴリ/ラーメン
  • 6755日前

    日々の戯言/2007年02月18日/屋台 味yoshi
  • 6760日前

    日々の戯言/2007年02月13日
  • 6760日前

    日々の戯言/カテゴリ/メイン
  • 6760日前

    日々の戯言/2007年02月13日/wiki & blog はじめました。
  • 6760日前

    メニュー
もっと見る
最近更新されたページ
  • 6668日前

    Eclipse
  • 6668日前

    EclipseでCUnit
  • 6668日前

    SoborigineerのTips
  • 6755日前

    日々の戯言/2007年02月18日
  • 6755日前

    日々の戯言/カテゴリ/ラーメン
  • 6755日前

    日々の戯言/2007年02月18日/屋台 味yoshi
  • 6760日前

    日々の戯言/2007年02月13日
  • 6760日前

    日々の戯言/カテゴリ/メイン
  • 6760日前

    日々の戯言/2007年02月13日/wiki & blog はじめました。
  • 6760日前

    メニュー
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. まどドラ攻略wiki
  2. MadTown GTA (Beta) まとめウィキ
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. Dark War Survival攻略
  6. 軍事・武器解説wiki
  7. ソードランページ @ 非公式wiki
  8. PEAK (landfall) 攻略 @ ウィキ
  9. 魔法少女ノ魔女裁判 攻略・考察Wiki
  10. シミュグラ2Wiki(Simulation Of Grand2)GTARP
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  6. 検索してはいけない言葉 @ ウィキ
  7. モンスター烈伝オレカバトル2@wiki
  8. Abiotic Factor 日本語攻略Wiki
  9. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. Fate/Grand Order @wiki 【FGO】
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. ヴァン ダーマー - ストグラ まとめ @ウィキ
  2. 参加者一覧 - ストグラ まとめ @ウィキ
  3. MOZU - ストグラ まとめ @ウィキ
  4. 暦家 - ストグラ まとめ @ウィキ
  5. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  6. 上田さんのギャング(仮称) - ストグラ まとめ @ウィキ
  7. FOG - ストグラ まとめ @ウィキ
  8. ラーヴァ/ティアマト/アーチャー - Fate/Grand Order @wiki 【FGO】
  9. ギャング - ストグラ まとめ @ウィキ
  10. アプリコット - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.