タグ

Testに関するbrtRiverのブックマーク (17)

  • 関数・定数のラッパーオブジェクト(レガシープロキシー)を導入してテスト容易性を高める

    PHPユーザーであれば、PHPが標準で持つ多くの内部(ビルトイン)関数や定数には日常的にお世話になっていることでしょう。これらの内部関数・定数はPHPの便利さの象徴といえます。しかし、内部関数や定数の使用はテストのしやすさを低下させる原因となります。以下のコードを見てみましょう。 <?php ... class CollectingType { protected $type; protected $expectedSuperTypes = array(); ... public function isTest() { if (in_array($this->type, $this->expectedSuperTypes)) { return false; } else { foreach ($this->expectedSuperTypes as $expectedSuperType)

  • DRY原則とテストの可読性 - ✘╹◡╹✘

    DRY原則に従おうとするほど、テストコードがどんどん読みづらくなる。 The RSpec Bookに答えがあるかと思って読んでみたものの、「あるある」と一言述べているだけだった。辛い。 テストコードが読みづらくなる例を示すために、1つRubyのライブラリをつくった。 値とパターンを与えてValidationを行う機能を提供するライブラリ。 実装60行、テスト120行なので、詳しく見たければすぐ読めると思う。 最近不意ながらキラキラネームの命名力が上がってきたと思う。 avalon - A validator implementation for Ruby https://github.com/r7kamura/avalon 冗長だが読みやすい例 letもsubjectもローカル変数も何も用いずに率直に書いたテストコード例がこちら。 冗長だが読みやすく、テストコードを見ればライブラリの使い

    DRY原則とテストの可読性 - ✘╹◡╹✘
  • GitHub - mageekguy/atoum: The root and a fork of atoum, the modern, simple and intuitive PHP 5.3+ unit testing framework.

    Just like SimpleTest or PHPUnit, atoum is a unit testing framework specific to the PHP language. However, it has been designed from the start with the following ideas in mind: Can be implemented rapidly ; Simplify test development ; Allow for writing reliable, readable, and clear unit tests ; To accomplish that, it massively uses capabilities provided by PHP 5.3, to give the developer a whole new

    GitHub - mageekguy/atoum: The root and a fork of atoum, the modern, simple and intuitive PHP 5.3+ unit testing framework.
    brtRiver
    brtRiver 2012/07/29
    limeのように1ファイルを用意するだけでよく、PHPUnitより直感的にテストを書くことができる。Travis CIにも対応。
  • Mocha - the fun, simple, flexible JavaScript test framework

    simple, flexible, fun Mocha is a feature-rich JavaScript test framework running on node and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on GitHub. Features browser support simple async support proper exit status for CI support etc auto-detects and

    brtRiver
    brtRiver 2012/04/19
    bdd, tdd方式を選択できるJavaScriptテスティングフレームワーク
  • PHPUnit でテスト駆動開発を始めよう

    9. class CalculatorTest extends PHPUnit_Framework_TestCase { public function setUp() { $this->calc = new Calculator; } public function test_add_引数の和を返す() { $result = $this->calc->add(1, 2); $this->assertSame(3, $result); } } 10. class CalculatorTest extends PHPUnit_Framework_TestCase { public function setUp() { 1 $this->calc = new Calculator; } public function test_add_引数の和を返す() { $result = $this-

    PHPUnit でテスト駆動開発を始めよう
    brtRiver
    brtRiver 2012/03/09
    PHPUnitに限らずデベロッパーテスティングについて
  • PHP5.4時代のprivateメソッドテスト手法 #php5_4

    PHP5.4 Advent Calendar 2011の7日目です。昨日は@madapajaさんの「PHP5.4+ で開発が行われている BEAR.Sunday フレームワークを動かしてみる」でした。 さてさて皆さん、ユニットテストしてますか? PHPもテストのライブラリが充実してきており、カバレッジ100%に情熱を燃やしている方も多いことでしょう。 ユニットテストで困るのが、private/protectedメソッドです。外から呼べないので、普通の方法ではテストできません。(protectedは適当なダミーのサブクラスを作ってそこからテストできますが、ちょっと面倒です。) まあ当然です。外から呼べないようにprivateにしているので、簡単に呼べたら逆に困るわけです。しかしながら、privateメソッドも外から呼んでテストできた方が開発ははかどるでしょう。この記事ではPHPでprivat

    PHP5.4時代のprivateメソッドテスト手法 #php5_4
    brtRiver
    brtRiver 2012/01/07
    PHP5.3でも方法があるのね。
  • 「スタブ」と「モック」は全然違うものなんですよ - uehaj's blog

    「スタブ」と「モック」は全然違うものなんですよう、という話は前からされてますが、世の中にたくさんの誤解があふれている。ファウラー氏の記事もわかりにくいわい!!!頭のいい人に解説させてはダメだ!(暴論)。 つーことで上の考え方を私の言葉で述べます。 「スタブ」と「モック」は違います。何が違うかといいますと、目的が違います。何の目的かというと、試験の目的です。 んでね、混乱の原因の一つは「スタブオブジェクト」「モックオブジェクト」という使うモノを見てては、この目的の違いが分からないということです。日刀とマグロ切り包丁を見ていても、両者が違うことがわからない。目的と照らし合わせてみて始めて違いがわかるんです。 モックについて言うと「オブジェクト間の相互作用を見るためのテスト」をするときに用いるのがモック。以上。それ以上でもそれ以下でもない。便利さの度合いも試験の手軽さもスピードも関係ない(直交

    「スタブ」と「モック」は全然違うものなんですよ - uehaj's blog
    brtRiver
    brtRiver 2012/01/03
    "特別なモックオブジェクトを作らずに実オブジェクトに対する呼び出しを検出することもできる。パーシャルモックとも言う"
  • Redirecting...

    リダイレクトしています。お待ちください...

  • 第2回 テスト計画(後編) | gihyo.jp

    大塚先輩: 入社10年目。5年前に柏田マネジャーと一緒にソフトウェアテスト事業を立ち上げた。カメラが趣味で、暇さえあれば写真を撮りに出かける。 大塚先輩:さて、さっそく見ていくことにしようか。 中山君:はい、よろしくお願いします。(⁠ドキドキ) 大塚先輩:まず最初に…、表紙を付けたのはいいね。最初の計画書に表紙を付ける人はあまりいないんだ。よく気づいたね。 中山君:今までの計画書を参考にしました。 大塚先輩:で、中身なんだが…これはずいぶんと薄いね…… 中山君:(あれれ、何か足りなかったのかな…) てっきり、すんなりとOKがもらえると思っていた中山君はうろたえました。 大塚先輩:中山君、この計画書には何を書けばいいと思う? 中山君:何を書けばいいって……。スケジュールは重要ですよね。スケジュールが無い計画書って見たことありません。 大塚先輩:スケジュールは重要だよね。他には? 中山君:体制

    第2回 テスト計画(後編) | gihyo.jp
  • watchr - ファイルに変更があったら何かする / もしくはオサーンについて - 2nd life (移転しました)

    みなさま、いかがお過ごしでしょうか。以前人のことをオサーンオサーン云いまくっていたけどその当時のオサーン年齢のもうすぐ三十路になります secondlife ですこんばんわ。言葉のしっぺ返しが痛い今日この頃です。 さて、若かりし頃には合わなかったけど今使ってみるとしっくり来る物もありますね。その一つが AutoTest(ZenTest) です。ファイルが更新したらこける / SyntaxError になると解っていてもテストが走りFFF、自分のテストサイクルでテストが実行できないのが我慢できませんでしたが、久しぶりに使ってみるとそんなのは気にならず、いちいちテスト実行しなくてよくなってとても気持ちがよい感じです。 しかしながら ZenTest に含まれる AutoTest はレールが敷かれているテスト環境では利用しやすいけど、ちょっと道を踏み外すと結構テストを実行するのがめんどくさいです。

    watchr - ファイルに変更があったら何かする / もしくはオサーンについて - 2nd life (移転しました)
  • Hudsonでsymfony自動テスト環境をつくる | Act as Professional

    HudsonというJavaでつくられたCI(継続的インテグレーション)ツールを使って、symfonyの自動テストを継続的インテグレーションされる環境をつくる方法です。 継続的インテグレーションや自動テスト環境とは? XPやアジャイル開発手法でのプラクティスです。とても開発者を幸せにしてくれるものです。 プログラマーがユニットテストなどの自動テストを書く 実際の機能となるコードを書く 自分が変更した範囲のテストコードが通ることを確認する バージョン管理システムにコミットする HudsonなどのCIツールなどによって、すべての自動テストが走る。(結合テストとも呼ばれる) テスト結果にエラーがある場合、メールなどで通知される こうすることによって、開発者は常にテストが通るソースコードを維持し続けることができます。 万が一、他の機能を壊すコードを書いてしまったりバグを埋め込んでしまえば、いつのコミ

    Hudsonでsymfony自動テスト環境をつくる | Act as Professional
  • ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ
    brtRiver
    brtRiver 2010/06/03
    モバイル開発
  • Opera News

    Gaming, Opera GX Opera GX now lets you control every detail of your browser, with more customization options... November 20th, 2024 With the latest update, Opera GX now expands its modding features, giving you even more ways to completely transform your... Desktop Get Spotify Premium with Opera One R2’s new Music Player November 19th, 2024 Spotify becomes the default music player in Opera One R2.

  • CucumberとWebratの組み合わせが素晴らしすぎる - (゚∀゚)o彡 sasata299's blog

    2009年07月05日13:34 Ruby CucumberとWebratの組み合わせが素晴らしすぎる UK STUDIO - Cucumberの登場でRailsのテスティング環境が変わった Cucumberがアツい - moroの日記 Webratがスゴい(続:Cucumberがアツい) - moroの日記 Cucumber にふれてみた - yuum3のお仕事日記 この辺りの記事を読んで、「Cucumber」って何か凄そうだなぁ、使ってみるか!と思ったささたつです。こんにちわ。今日も暑いですね。。。(*´Д`) Cucumber にふれてみた - yuum3のお仕事日記 Cucumber自体は日語などの自然言語でテストシナリオを書けるフレームワーク的なもので、実際のテスト機能は含まれていません。ここでは実際のテストはWebratというWebアプリの受入テスト用ソフトでおこないます。

  • CakePHP routes.phpの確認はユニットテストで

    routes.phpを仕様に合わせて設定しておきます。 <?php // Router::connect('/:user_id/edit', array('controller' => 'user', 'action' => 'edit')); Router::connect('/', array('controller' => 'top', 'action' => 'index')); Router::connect('/:user_id/*', array('controller' => 'user', 'action' => 'index')); // Nothing Router::connect('*', array('controller' => 'nothing')); ?> 最後はシステムが取るべきURL以外ならNot Foundを出すように設定しています。これにより想定外

  • Tidningen Nyheter för alla -

    Skip to main content Registration has been disabled.

    brtRiver
    brtRiver 2009/05/12
    1.2にも対応
  • symfony - open-source PHP5 web framework

    Services Platform.sh for Symfony Best platform to deploy Symfony apps SymfonyInsight Automatic quality checks for your apps Symfony Certification Prove your knowledge and boost your career SensioLabs Professional services to help you with Symfony Blackfire Profile and monitor performance of your apps

    symfony - open-source PHP5 web framework
  • 1