タグ

TDDと.netに関するkkotyyのブックマーク (2)

  • TDD Boot Camp のお題を C# と Git でやってみた - 予定は未定Blog版

    自分で考えたお題を自分で解くとかそれなんてマッチポンプ・・・ 打ち上げ終了後のホテルと、翌日の帰りの新幹線の中で書いたコードを順番に追ってみます。 準備するものは Git で、あるといいものは Visual Studio 2010 と NUnit です。 まぁ、割と小さいコード (テストを含めても 300 行もない) だし C# を知らない人でもそれなりに雰囲気は掴めると思います。 あ、このエントリかなり長いです。 準備 Windows の場合、Git Bash を開いて、適当なフォルダに移動して git clone git://github.com/bleis-tift/MotsunabeZombieProject.git cd MotsunabeZombieProjectとしてください。 MotsunabeZombieProject というフォルダができて、その中に Git のリポジト

    TDD Boot Camp のお題を C# と Git でやってみた - 予定は未定Blog版
  • [コラム] システム時刻に依存するメソッドをテストする 3 + 1 通りの方法 - TDD.NET

    ユニットテストの天敵は、 外部に依存しているプログラムです。 依存しているものからの応答によってプログラムの動作が変わるとすると、 ユニットテストが困難になります。 たとえば、 データベース、 あるいは何らかの通信など。 もっとも身近なのは、 システム時刻でしょう。 次のようなメソッドを作るとします。 現在時刻が午前だったら、 "Good morning!" と返す。 午後だったら、 "Hello!" と返す。 このメソッドのテストケースは、 どう書きましょうか? 製品コードは、 どのようにしたらいいでしょう? なにも工夫をしなければ、 1日に 1回しかテストが出来ないか、 PC の時計を変えてはテストを実行することになるでしょう。 何か工夫をして、 テスト実行時には PC の時計に依存しないようにする必要があります。 .NET Framework に用意されている DateTime.No

    [コラム] システム時刻に依存するメソッドをテストする 3 + 1 通りの方法 - TDD.NET
    kkotyy
    kkotyy 2011/02/06
    2010年のTDD BOOT CAMP名古屋で出たネタ。これをやると同時に、DateTimeを直接使うのを禁止するFxCopのカスタムルールが必要だと思う。もともとそういうルールあるんでしたっけ?
  • 1