WinUnit お気楽お手軽 UnitTest

Slides:



Advertisements
Similar presentations
C 言語講座第 5 回 構造体. 構造体とは ... 異なる型の値をまとめて新しい型とする 機能がある . つまり , 複数の変数を 1 つのまとまりにできる . 配列と違って同じ型でデータをまとめるのではな く違った型のデータをまとめられる .
Advertisements

わんくま同盟 名古屋勉強会 #2 Visual Studio 2008 でやる テスト駆動開発 2008/04/26 biac 機材協力 : 日本インフォメーション㈱ Test Driven Development.
わんくま同盟 東京勉強会 #10 オブジェクト指向 #1 Windows メッセージを使いこな す -Windows 流オブジェクト指向 - とっちゃん 高萩 俊行 Microsoft MVP for Windows SDK 2005/ /09.
Japan Symposium on Software Testing 2004 はじめてみようテストファースト JaSST ’ 04 チュートリアル2 2004年1月28日 10:00 ~ 佐賀大学 大月 美佳 … こと、みかまま 東京コンファレンスセンター 品川.
テストについて 近畿大学大学院 田中大介 資料:
Windows Embedded CE の テスト環境と活用 マイクロソフト Windows Embedded Partner (株)サムシングプレシャス 代表取締役社長 古賀信哉.
Visual Studio 2010 の新機能 Coded UI Test
D&UNITE 株式会社 代表取締役 株式会社 T-Planning 取締役 Microsoft MVP for ASP.NET/IIS
工学部 電子情報工学科 T21E        テンジン  ツェリン TENZIN TSERING                  指導教員 吉田 清繁.
Generic programming と STL
自社製ミドルウエアをDalvikと連携させることが可能になる
プログラミング基礎I(再) 山元進.
わんくま同盟 東京勉強会 #2 10:30~10:40 わんくま同盟について、えムナウのプログラミングのページについて
επιστημη さん 提供の VB.NETプログラムを丸裸にする!?
第2章 数値の入力と変数 scanfと変数をやります.
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟.
C++ むかしばなし episthmh わんくま同盟 Microsoft MVP for
Visual Studio 2005を使ったテスト.
第6章 2重ループ&配列 2重ループと配列をやります.
構造体.
2008/09/20 TDD 道場 ~ ぼくと契約して TDD をやってよ! ~.
MSBuild 色々出来るよ 2011/04/02 お だ.
MS製開発ツールの歴史とか….
はじめてのASP.NET 楽しいアプリ制作の会 #1 TWorks.
Linuxカーネルについて 2014/01.
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
第10回 プログラミングⅡ 第10回
プログラミング論 ファイル入出力
逆ポーランド電卓のつくりかた ── 脱ビギナ系 データ構造とアルゴリズム講座 「StackとRPN」
Windows Azure (CTP) 触ってみた
Microsoft MVP for Development Tools – Visual C++
WPF、MVVMパターン構成.
Windows PowerShell Cmdlet
R流・C#マルチスレッドの復讐 2009年05月16日 R・田中一郎
第11回 宿題 出題日:12月21日 締切日:1月7日(木).
Microsoft Visual Studio 2005 Tools for
WinUnit お気楽お手軽 UnitTest
Microsoft MVP for Development Tools – Visual C++
TDDとメソッドの外部設計 テストファーストの秘訣 2009/08 biac.
プログラミング論 ファイル入出力
わんくま同盟茶藝部顧問 Microsoft MVP for VC episthmh
第11回 プログラミングⅡ 第11回
逆ポーランド電卓のつくりかた ── 脱ビギナ系 データ構造とアルゴリズム講座 「StackとRPN」
Windows Azure (CTP) 触ってみた
Microsoft MVP for Development Tools – Visual C++
型の compatibility とポインタ演算
WindowsMobile de HelloWorld
WindowsMobile de HelloWorld
Visual Studio 2005 の リファクタ と Edit & Continue と インテリセンス 尾崎 義尚(takanao)
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
B演習(言語処理系演習)第2回 田浦.
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟.
わんくま同盟 大阪勉強会 #1 15:00~15:10 わんくま同盟について 15:10~16:00
わんくま同盟 大阪#2 & 東京#1 合同勉強会 18:25~18:30 前座:わんくま同盟について 18:30~18:50
nativeの基礎知識 「ポインタ」てなによ!?
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
標準入出力、変数、演算子、エスケープシーケンス
extern の意味 (C プログラミング演習,Visual Studio 2019 対応)
How To WPF アプリケーション Part4 By 中博俊.
回帰テストにおける実行系列の差分の効率的な検出手法
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
:: の扱い 長谷川啓.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
C++ むかしばなし episthmh わんくま同盟 Microsoft MVP for
C++ むかしばなし episthmh わんくま同盟 Microsoft MVP for
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
How To WPF アプリケーション Part3 By 中博俊.
Presentation transcript:

WinUnit お気楽お手軽 UnitTest わんくま同盟 MVP for Visual C++ (2004-2008) επιστημη http://blogs.wankuma.com/episteme/ episteme@cppll.jp

15年前からの物書き(DDJJ,C-Mag. etc.) C++標準化委員会の中のひと Databaseおんち επιστημη ちゃ何者ぞ!? C++界ではちった名の知れたソフト屋 わんくま同盟会員番号12番 15年前からの物書き(DDJJ,C-Mag. etc.) C++標準化委員会の中のひと Databaseおんち 組み込み? Z80/8086でやりますた わんくま同盟茶藝部顧問 ← いまここ

さて今日のお題は WinUnit

数あるUnitTestFrameworkのひとつ MSDN magazine Feb.2008 に収録 WinUnitってば 数あるUnitTestFrameworkのひとつ MSDN magazine Feb.2008 に収録 Windows, Visual C++に限定 無償 ─処理系もタダ(VC++Expressおっけ) JUnit/NUnit並みに簡単 小型軽量 : header二本/exe一本 だけ Visual Studio – IDEに統合可

CUnit, CppUnit(C++Test) テスト対象 xUnit header Target header TestCode TargetCode xUnit テスト xUnit library SuiteBuilder + TestRunner compile Test executable link

WinUnit SuiteBuilder, TestRunner 不要! テスト対象 xUnit header Target header TestCode TargetCode xUnit テスト WinUnit executable SuiteBuilder, TestRunner 不要! compile Test DLL link

テスト対象 stack.h こいつらが 「期待通り(仕様通り) に動いてくれるか」 をテストする。 ↓ 用意した入力 に対して #ifndef STACK_H__ #define STACK_H__ #ifdef __cplusplus extern "C" { #endif typedef struct Stack_t* Stack; Stack stack_create(); void stack_delete(Stack stk); void stack_push(Stack stk, int value); int stack_size(Stack stk); void stack_pop(Stack stk); int stack_top(Stack stk); } こいつらが 「期待通り(仕様通り)  に動いてくれるか」 をテストする。  ↓ 用意した入力 に対して 期待する結果 が得られる ことを検証する。  

テストのかきかた(1) stack_test.cpp #include <WinUnit.h> #include "stack.h" namespace { Stack s; } FIXTURE(stack_fixture); SETUP(stack_fixture){ s = stack_create(); WIN_ASSERT_NOT_NULL(s); TEARDOWN(stack_fixture){ stack_delete(s); WinUnit利用に必要なのはこんだけ。 テスト対象。 (名前空間を汚染しないよう 匿名namespaceで囲む) 各テストを SETUP(初期化) と TEARDOWN(後始末) で 囲む

テストのかきかた(2) stack_test.cpp //---- 初期化 BEGIN_TESTF(01_initialize, stack_fixture) {   WIN_ASSERT_ZERO(stack_size(s)); } END_TESTF //---- push BEGIN_TESTF(02_push, stack_fixture)   stack_push(s, 10); WIN_ASSERT_EQUAL( 1, stack_size(s)); WIN_ASSERT_EQUAL(10, stack_top(s)); stack_push(s, 20); WIN_ASSERT_EQUAL( 2, stack_size(s)); WIN_ASSERT_EQUAL(20, stack_top(s)); 結果は0になるか? 結果が期待値に 等しいか?

DEMO Windows Vista SP1 Target (XP also available) テスト対象 Microsoft Visual Studio 2008 (VS2005 also available) テスト対象 テスト Test 利用コード Testが成功しない限り Productを作らせない Product