タグ

TDDとテストに関するsupermomongaのブックマーク (6)

  • 「CIを半年間まわしてみて」というお題でLTをしてきました - kaz29

    大分時間も経ってしまい今更ではありますが、先日行われた第67回 PHP勉強会で「CIを半年間まわしてみて」というお題でLTをしてきました。 昨年の11/30に、当時ちょうど開発が始まった案件の開発環境に関して「今時なCakePHPでの開発環境!?」というエントリーを書いて、初のホッテントリ入りしました。4月末でこのプトジェクトが始まって半年という事で、実際にCIをまわしている中で起こった事や、試行錯誤しつつどうやって解決したかなどを簡単にまとめてお話ししました。 LT用に作った資料ではちょっと伝わりにくいので、以下にまとめ直しました。 成長の軌跡 Jenkinsサーバーを立ち上げた時は、UnitTestのテストケースが10個だけだったのですが、4/30現在 UnitTestのテストケースが467件、受入れテストのシナリオ数が292件とものすごい成長っぷりです。 この半年間に起こった事 テス

    「CIを半年間まわしてみて」というお題でLTをしてきました - kaz29
  • Python で TDD してみる - methaneのブログ

    RSpec の入門とその一歩先へ がとてもよい記事だったので、 Python で写経させてもらいました。 https://github.com/methane/pytest-tut Ruby コミュニティと Python コミュニティの考え方の違いも見えて面白いと思います。 環境は Python 3.3 で、実行には py.test コマンドを使いましたが、 py.test の機能は特に使っていないので nose でもなんでも大丈夫です。 ファイルの作成 まずは空の実装とテストを作ります。 message_filter.py class MessageFilter: pass message_filter_test.py 最初のテストを書く py.test は .should といったメソッドを勝手に生やしたりはしません。普通に assert 文を書きましょう。 --- a/messege

    Python で TDD してみる - methaneのブログ
  • CakePHP(例えば2系)のテスト

    5. 1系と2系の違い ● 1系 ○ SimpleTest ● 2系 ○ PHPUnit 「なぜPHPUnitに移行したか」は以下参照 ● http://mark-story.com/posts/view/cakephp-and-phpunit ● http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=2331&forum=3 6. 僕がやっている流れ 1. 「create table」でテーブル作成 2. 「cake bake」でテーブル用のModelを作成 3. ロジックのクラスとそれをテストするファイルを手 動作成 4. Test Test Test ○ もうここで大部分のテストは終わらせたい 5. 「cake bake」でControllerを作成 6. Test Test Test Modelの話は他の人が発表しそうだからC

    CakePHP(例えば2系)のテスト
  • RSpecによるユニットテストの書き方 — recompile.net

    2012年04月19日 最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめにごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと

    RSpecによるユニットテストの書き方 — recompile.net
  • inforno :: 俺的モダンなPythonのOSS開発環境

    趣味プログラマです、こんにちわ。一応生きてます。 さて、Pythonista各位におかれましてはmoratoriumをエンジョイされていますでしょうか。そろそろライブラリも著名なものはPython3に対応してきましたし、そろそろ格的にPython3、となっているころ合いですね。というか、Python3に対応してないとちょっと恥ずかしくなってきましたね。 とはいえ、Python2は根強く残るでしょう。というわけでPython2とPython3両方で動くコードを書きましょう。テストも書くのは当たり前ですし、せっかくなのでCIもしましょう。 と私も最近思ったので快適に開発を進めるための環境についてメモです。 github : 言わずもがなですね。 travis : githubと連携してCIできるサービス。P言語にも対応していて、最近アツいです。 tox : 複数のPython処理系でvirt

  • 眠るシーラカンスと水底のプログラマー(旧):cakePHP:テスト駆動開発をするには? - livedoor Blog(ブログ)

    前置き: テスト駆動開発とは これまでの作業でcakePHPの表示部分を軽く触ってみました。 静的にフッターを表示したので、 次は動的に…と、ようやくプログラムらしい段階に来たのですが、そのまえにTDDを行えるようにしてみます。 TDDというのはTestDrivenDevelopmentの略で、 日語でいうところの「テスト駆動開発」です。 職業プログラマーでない場合、 聞きなれない言葉だと思いますが、 コードを書く前に、テストケースを準備するという一見変わった手法です。私もまだまだ勉強中ですが、テスト駆動開発を行うと、 ・クラス構造が綺麗になる(自然とテストできるようなクラス=整理されたクラスになる) ・少しづづ構築するので、事象を分断して捉えやすくなる(プログラムを書くというのは複雑さとの戦いです。細かく分断すること、分断して再構築を繰り返すことは複雑さに対する良い武器です) ・修正に

  • 1