[お知らせ] ようこそ、 TDD.NET へ

TDD (テスト駆動開発)
= テストファースト + リファクタリング


TDD というコーディング技法について、 詳しくは… ⇒ TDD とは?, VB2010 Express + NUnit 2.5 で、 初めてのTDD Step by Step

このサイトでは、 .NET Framework での開発、 その中でも主に C# / VB.NET を使って TDD するときに役立つ日本語の情報を集めていきます。 VC++ については門外漢なので、 ほとんど載らないと思います。

このサイトは、 独立した記事と、 blog と、 掲示板から構成されています。 左サイドバーの [ コンテンツ ] からご利用くださると便利かと思います。

ご意見・ご要望等がございましたら、 掲示板に書いていただくなり、 に直メールするなり、 呟くなりしていただけると嬉しいです。

トラックバックコメントは、 フィッシングサイトや営利目的のものはお断りしています。 そのために、 承認制としておりますので、 反映されるまでしばらく掛かります。

|

2013年12月25日 (水)

TDD Advent Calendar 2013

REDとGREENはクリスマス色♪
TDD Advent Calendar jp: 2013

20131225_tddadvent2013

| | コメント (0) | トラックバック (0)

2013年12月13日 (金)

MSTest‐Windows ストア アプリ開発の暗黒大陸 #win8dev_jp #tddadventjp #tddnet

このエントリーは、 TDD Advent Calendar 2013 の 13日目です。
このエントリーは、 Windows Store App Advent Calendar 2013 の 13日目です。
13日の金曜日です。
 

暗黒大陸 - それは内部がほとんど知られず、地図も無い世界
20131213_tddadvent01
※ この画像は広辞苑

Windows ストア アプリを開発するのに使う Visual Studio 2012 / 2013 には、 テスト ハーネス フレームワークとして MSTest が標準装備されています。 これは無償の Express エディションにも搭載されているので、 Windows ストア アプリを開発するときに TDD しない訳にはいきません。 (← TDD の話はこれだけw)

てことで、 テスト コードを書き始めましょうか。
MSTest とは長い付き合いですからね、 サクサク書けますよ。

でもまぁ、 たまにはヘルプを見ましょうか。
20131213_tddadvent02

…へ!?

20131213_tddadvent03

「このトピックはこのライブラリには含まれていません」

ぉひぉひ… (@_@;)

使っている Assert クラスは、 Microsoft.VisualStudio.TestPlatform.UnitTestFramework 名前空間のもの。
20131213_tddadvent04

この名前空間をぐぐってみる

……ほぇ!?

MSDN に載ってない!! (・_・)

つまり、

20131213_tddadvent05

Windows ストア アプリ開発で使ってる MSTest は、 地図の無い暗黒大陸だった!

# いや~、 VS2012 が出てから丸1年以上経ってるんですからね、 まさかまだドキュメントが公開されてないとは思わなかったよw

» 続きを読む

| | コメント (0) | トラックバック (0)

2013年12月 8日 (日)

TDD 最初の一歩 (C#編) #tddadventjp

このエントリーは、 TDD Advent Calendar 2013 の 8日目です。
このエントリーのサンプルコードは、 Microsoft Developer Network サンプル  「TDD 最初の一歩 (C#編) 言語: C# Visual Studio 2012 用」 からダウンロードできます。

TDD Advent Calendar を読んでる人の中には 「TDD やったことないよ!」 という開発者もいらっしゃることでしょう。
まずは、 やってみましょう。

本稿では、 無償の Visual Studio Express 2012 を使い、 C# でコーディングします。

 

■ まえふり ~ .NET Framework と TDD

.NET Framework で TDD やるための情報は、 たぶんとても少ないのです。

というのも、 言語を付けて TDD をぐぐってみると、 ↓こんな感じだから。

TDD Java 約 197,000 件
TDD Ruby 約 151,000 件
TDD PHP 約 149,000 件
TDD JavaScript 約 122,000 件
TDD Python 約 101,000 件
TDD C# 約 61,700 件
TDD VB 約 41,600 件

桁違い… orz

本屋を巡っても書籍はありませんし。
あ、 昔は 1冊↓あったんですよ。 ずいぶん前に絶版になってます orz

20131207_tdd01
Microsoft.NET でのテスト駆動開発

まぁ、 そんなわけで、 このサイトをやってたり、 CodeZine で連載させてもらったりしてるわけです。

 

■ 課題 ~ FizzBuzz プログラム

1 から 100 までの Fizz Buzz をコンソールに表示するプログラムを作れ。
実行ファイルの名前は 「FizzBuzz1to100.exe」 とする。

Fizz Buzz (Wikipedia より)

最初のプレイヤーは「1」と数字を発言する。 次のプレイヤーは直前のプレイヤーの次の数字を発言していく。
ただし、 3で割り切れる場合は 「Fizz」、 5で割り切れる場合は 「Buzz」、 両者で割り切れる場合は 「Fizz Buzz」 を数の代わりに発言しなければならない。

» 続きを読む

| | コメント (0) | トラックバック (0)

2013年12月 6日 (金)

TDD って何だっけ? #tddadventjp

このエントリーは、TDD Advent Calendar 2013 の 6日目です。

TDD Advent Calendar を読んでる人の中には 「TDD って何?」 という初心者もいらっしゃることでしょう。 そこで、 TDD の定義をきちんと調べておきましょう。

まずは何の略語なんだか調べてみましょうか。
Acronym Finder「TDD」 を検索すると、 44件が見つかりました。
20131205_tdd01

これは海の向こうの辞書なので、 Tuatha De Danann とか TOKYO DANCE DELIGHT とかは入ってませんが、 それでもこれだけあります。 「TDD!? 何のこと?」 と言われてしまうのも無理はありませんね f(^^;

で、 ソフトウェア開発者がよく使う、 そしてこの TDD Advent Calendar で話題にしている TDD とは、「Test Driven Development」(テスト駆動開発) です。

» 続きを読む

| | コメント (0) | トラックバック (0)

2013年9月17日 (火)

[NEWS] NUnit Test Adapter for VS 2012 and 2013 1.0 RC

長らく Beta のままだった NUnit Test Adapter が、 Release Candidate (製品候補版) になりました。

20130917_nunit_testadapter01

Charlie Poole on 2013-09-12

We've just released version 0.97 of the adapter, which is the release candidate for our first production version, 1.0.

バージョンとしては 0.97 ですが、 1.0 の正式版になるのも近いと思われます。 おそらくは、 VS2013 正式リリース直後あたりでしょうか。

なお、 以下のようにして NuGet からインストールします。

» 続きを読む

| | コメント (0) | トラックバック (0)

2012年12月25日 (火)

TDD Advent Calendar 2012

REDとGREENはクリスマス色♪
TDD Advent Calendar jp: 2012

20121225_tddadvent2012

| | コメント (0) | トラックバック (0)

2012年12月24日 (月)

[コラム] テストファーストとは何か?

今年はネタがありません。
WP8 のテストファーストでもやろうかと思っていたら、 先を越されちゃったしw  (⇒ Phone Toolkit Test Framework を使ってみる(1) )
しょうがないので、 「プログラムの作り方」を教えるとしたらどうしたらいいだろう、 なんてことを気の向くままに書き散らしてみます。 まぁ、 なぜか最後は強引に TDD ネタに話を持って行きますけど f(^^;


● "Hello, world!"

「プログラムの作り方」を教えるとしたら、最初はやはり定番の「Hello, world!」から入るのでしょうね。

int main(int argc, char* argv[]) {
  printf("hello world!\r\n");
  return 0;
}


今だと

Textbox1.Text = "Hello, world!";

…かな。

だけどこれは「プログラムの作り方」ではありません。
絵筆を使って絵具を塗る手順を学んでいるだけ。 まだ自分一人でプログラムは作れないでしょう。

» 続きを読む

| | コメント (0) | トラックバック (0)

2012年11月16日 (金)

[NEWS] NUnit 2.6.2 リリース ~ async/await に対応!

10月 22日付けで、 NUnit Version 2.6.2.12296 が公開されています。

リリースノート ⇒ NUnit.org : Release Notes (英文)
ダウンロード ⇒ Launchpad : NUnit V2 2.6.2

今回の目玉は、 なんといっても async/await 対応でしょう。 VS2012 の MSTest と同様で、 テストメソッドの型を Task<T> に変えてやる必要があります。

その他、サンプルに F# が加わったこともニュースでしょう。

| | コメント (0) | トラックバック (0)

2012年8月17日 (金)

[NEWS] NUnit 2.6.1 リリース ~ NuGet に対応

20120817_nunit261_on_nuget_2 8月 4日付けで、 NUnit Version 2.6.1.12217 が公開されました。

リリースノート ⇒ NUnit.org : Release Notes (英文)
ダウンロード ⇒ Launchpad : NUnit V2 2.6.1

2.6.0 からの変更は、 ほとんどバグフィックスだけですが、 このバージョンから NuGet での提供が始まりました。 Visual Studio の中から簡単に NUnit を取得できるようになりました。

このキャプチャは、 Windows 8 RTM 上の Visual Studio Express 2012 for Windows 8 です。 メニューの [プロジェクト] - [NuGet パッケージの管理...] で、 NUnit を検索した状態。 NUnit 2.6.1 が見えています。 (そうです、 VS2012 は Express でも NuGet が使えます! また、 Visual Studio ギャラリーやサンプルギャラリーも。)

| | コメント (0) | トラックバック (0)

2012年7月10日 (火)

[記事紹介] CodeZine ~ C#で始めるテスト駆動開発 第4回/第5回

CodeZine に記事を書かせていただきました。

CodeZine: C#で始めるテスト駆動開発入門(4) TDDで仕様変更とデバッグをする方法
2012/5/29

CodeZine: C#で始めるテスト駆動開発入門(5) TDDBC大阪の課題をC#でやってみる ~ クラス設計とTDD
2012/6/29

この2回では、 デバッグや仕様変更のときのやり方、 クラス設計を進めながらテストファーストするときの考え方と、 わりと実践に即した話をしました。
次からは、 .NET Framework に特化して、 日付やデータベースの扱い方を説明していく予定です。

 

はてなブックマーク - TDDで仕様変更とデバッグをする方法(1/5):CodeZine

はてなブックマーク - TDDBC大阪の課題をC#でやってみる ~ クラス設計とTDD(1/7):CodeZine

| | コメント (0) | トラックバック (0)

«[お知らせ] [書籍] TDD Advent Calendar 2011 が電子書籍に