xUnit」カテゴリーアーカイブ

MSTest の実力は如何ほどのものなのか?

今更ながら、Visual Studio 2010 の Test Framework を試してみました(NUnit は既に試しているのですが)。 テストプロジェクトを自動で生成してくれる。 テストメソッドのひな型を自動で作ってくれる。 というのが売りらしいのですが、メソッドのひな型のほうは慣れると普通に作れます…というか、最初のひとつが面倒なだけで、あとはコピー&ペーストでいけます。 実行したいメソッドのところで、右クリックして「テストの実行」を選択すると 指定したメソッドが実行できます。 テスト結果は、Visual Studio 上で確認できます。 右上にある「デバッグ」で実行させるとブレークポイントで止めることができるし、結構便利です。 NUnit を使う場合は、デバッグするときの「外部プログラムの開始」を設定するとできるので、同じことができるのですが指定したメソッドだけを動 … 続きを読む

カテゴリー: C#, xUnit | 1件のコメント

上海で実演したテストケースの方針(メモ)その2

上海で実演したテストケースの方針(メモ) | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/2217 の第2弾…のメモです。 先の例では、DAO(Data Access Object)なのでテスト対象は主に SQL になる訳ですが、今度は業務ロジック(business logic)を中心に解説します。 業務ロジックの場合は、基本は以下の 4 箇所がテストの対象になります。 メソッドのパラメータ if 文による分岐 for 文による繰り返し 内部メソッドの呼び出し ここで、内部メソッドの呼び出しは既にテスト済みであることが前提です。 サンプル的には次のコードを頭に入れます。 ■テストコードを書く順番 前回の DAO と同じように、簡単なものから複雑なものへと進めていきます。前のテストコードがコピー&ペー … 続きを読む

カテゴリー: 開発, xUnit | コメントする

上海で実演したテストケースの方針(メモ)

上海出張して、NUnit の作り方を教え/実演してきました。 日本だと google で調べればそれなりに出てくるし「テスト技法」の本を読めば、それなりに分かるんですが、上海チームではそのあたりの資料が不足しております…という訳で、テストを作るときのメモを残しておきます。 ■テストコードを書く手順 TDD(テスト駆動)を正確にやるためには、テストコード作成後、実コード(=テスト対象のコード)を書く、という手順になるのですが、時間的な制約やテストコードの記述の慣れ、テストケースの作り方の慣れ≒理解度、もあるので、まぁ、「実コードを書いてからテストコードを書いても構いません」という方針で説明しました。 その中で、ひとつルールとして守ってほしいのは、以下のひとつだけ。 「コードを書いたら、その日のうちにテストコードを書いて確認することッ!!!」 テストコード初心者がやりがちなのは、大 … 続きを読む

カテゴリー: 開発, xUnit | コメントする

コードを短く書く努力をすると、テストが省ける

まぁ、がしがしとタイピングするのも楽しいけど、私は作業量を考えて短くするのが好きです。 行数にするとアウトプットの量が減るんですけどねw、気にせず。 こんな風な画面で、マウスをポイントしたとき(MouseEnter と MouseLeaveイベント)の時にステータスバーにメッセージを表示します。 あと、チェックボックスを切り替えた時に、各ボタンの有効/無効が変えられます。 ざっと、ソースコード。何故か VB で(笑) 眠たいので、詳しい解説は後ほどやる…かもしれず。 メモ的に書いておくと、モードの設定のフォーマットがミソです。 bool 値を「o」と「x」に割り当てているのは、こんな風に表形式で設定したいからです。かつて、VC++ の時に作ったノウハウです。その時には、define を使ったり外部ファイルを include したりしたのですが、vb ではできません。ture, … 続きを読む

カテゴリー: 設計, 雑談, xUnit | 3件のコメント

DBUnit の .NET 版を作成する(準備)

実は java 版の DBUnit は xml からデータを読みに行くし、DBUnit.net は動作的に同じなので、自前の DBUnit を作ります。 名前がダブっているけど、これは後から。 UIDD に則って、最初はテストケースをざっくりと作ります。 こんな風に使えると、マニュアルなしでも使えるかもね、という雰囲気で。 微妙にコードが冗長なのは、.NET v2.0 を対象にしているからです。手元のプロジェクトが v2.0 なのでそれに合わせて作らないと意味がないので、というのが第一の理由。LINQ to SQL とタプルなんかを使えるともう少しマシなコードになると思うのですが、そこは v2.0 がターゲットということで。 TestSetUp のほうでは、既存の DataTable/DataRow を使ってみたパターンです。カラムを作るところがやや面倒なのですが、これだとデフォルト値を入 … 続きを読む

カテゴリー: C#, xUnit | コメントする

xUnit を使うと、どこまで効率的になるのか?

xUnit を導入する積極的な理由をメモ書き。 Windows アプリケーションでは NUnit を使える構造設計を http://www.moonmile.net/blog/archives/2054 導入できるかどうかは上記のポイントがありますが、さて、xUnit を導入する積極的な理由はどこにあるのでしょうか? …と言いますか、いままで何とか仕事をこなしてきたから、同じ方法でやりたいのは当然なんですよね。むやみに Change !!! もできないわけで、そこには実装者なり経営者なりのメリットが必要なわけです。 win-win な関係って奴ですね。相手に対する営業的トークも少し混じりますがw ■現場でのメリット 昔、Eclipse が無かったころは、Java のコーディングをするときには、vi/emacs で十分だよ、という意見が大半でした。Visual Basic 2.0 … 続きを読む

カテゴリー: 仕事, xUnit | コメントする

もう LINQ to XML はいらない(電撃戦)

NUnit の説明用に作ってみたのですが、説明にしてはコードが難しいので、こっちにのほうに公開します。 コードに関しては、たった 400 行弱の実装で、同じぐらいの長さの NUnit のコードがあります。 最初は、あまりテストファーストで作らなかったので、無駄なコードが混じっているのですが、ひとまず作ったときの手順をさらして行きますね。もうちょっとまとめたら codeplex にでも公開します。 まず、基本クラスをざっと設計してしまいます。 これだけですw 内部に XmlDocument/XmlElement を持たせて、それを参照して XPath 風に動かします。 C++ の時は、このあたりの実装も考えていたのですが、C# は面倒なので XML 関係はお任せにします。 最初のテストケースがこれです。 EXDocument::LoadXML は、単純に XmlDocument::LoadX … 続きを読む

カテゴリー: C#, xUnit | コメントする

オレオレmvc に PHPUnit を適用する

そんな訳で、オレオレmvc に PHPUnit を使ってみます。 ま、オレオレ mvc はちょっとパワーアップして CakePHP 風なレイアウトとデバッグ表示に。 oreoraMVC ってことで、基本カラーはオレンジ…と言いますか、実は chocolate 色。 実行クエリなんかも表示されます。 テストケースは、こんな感じで書いていこうかなと。 ほら、なんかそれっぽくなっているのが不思議。oreoreMVC はもうちょっとしたら、再度公開します。

カテゴリー: CakePHP, xUnit | コメントする

PHP on IIS に PHPUnit をインストールする

まず、pear ってのが何者か分からずに苦労したのでメモ。 私の場合、PHP on IIS のインストール先が C:\PHP5.3 なのでコマンドプロンプトで移動。 その後、pear のアップデート。 # PHPUnit を入れるためには、PEAR 1.9.1 が必要なんですが、手元のは PEAR 1.9.0 なので駄目らしい。 windowsにPHPunit入れる – これでも… http://d.hatena.ne.jp/aqua1127/20101013/1286948514 のあたりを参考にして、 go-pear channel-update pear.php.net ここで、system|local と聞かれるので local にする。system にすると、c:\windows\pear.ini を作ろうとして失敗するので、local にして、PHPのインストール先 … 続きを読む

カテゴリー: 開発, xUnit | 1件のコメント

単体テストグルグル…な.NET勉強会

一応、こちらでも宣伝をしておきます。 今月の .NETラボ勉強会(2/26 土曜日)で、NUnit を使った単体テストの話をします。 .NETラボ勉強会 2011年2月 http://kokucheese.com/event/index/8415/ 単体テストツール NUnit の概略と実践的な導入ということで、 ・NUnit が導入しやすい構造設計とはどのようなものか? ・NUnit のテストケースは、どれくらいまで書き込むのか? ボリュームはどのくらいが適当なのか? ・受け入れテストで NUnit を使う なところを実践をお話します。 例によって、資料が間に合えば資料があるのですが、まあ、間に合わなければ コードを直に見せるという形になりますが。 # 来た方の様子を見て、NUnit の概要から始めるか、そのあたりは # わかっているものとして飛ばして、実践編のほうに進むのかを # 決め … 続きを読む

カテゴリー: 開発, xUnit | コメントする