タグ

testに関するk-holyのブックマーク (13)

  • GoutteとPHPUnitでレガシーなPHPアプリケーションをテストする

    Goutte という PHP 製の Web スクレイピングライブラリを使って Web ブラウザを操作するテストを書いてみたのでサンプルを紹介します。 Goutte とは、Symfony 開発者の Fabian が手がけるライブラリです。Symfony コンポーネントの BrowserKit, CssSelector, DomCrawler ほか Guzzle HTTP というライブラリを使っていて、PHPUnit と組み合わせることで Symfony のファンクショナルテストと同じ感覚でブラウザテストを書くことができます。 レガシーな PHP アプリケーションのテストに悩んでいる方は選択肢のひとつとして参考にしてみてください。サンプルは karakaram/goutte-sample - GitHub に置いておきます。 動作確認環境 PHP 5.6PHPUnit 4.7Goutte 2.

    GoutteとPHPUnitでレガシーなPHPアプリケーションをテストする
    k-holy
    k-holy 2015/06/17
    Goutteこういう使い方は盲点だった。PHPコードだけでいけるしウチに合ってるかも。
  • Type Zebra

    A simple local + google fonts tester

    Type Zebra
  • Codeception - PHP Testing framework - PHP unit testing, PHP e2e testing, database testing

    User_Centric_Tests Codeception provides high-level domain language for tests. Tests are represented as a set of user's actions. Learn More Browser_Testing Tests can be executed using Firefox, Chrome, Safari or Cloud Testing services with Selenium WebDriver. Browser can be emulated with HTTP-requests through CURL with PhpBrowser. Learn More Framework_Testing Tests can be executed inside a PHP frame

    k-holy
    k-holy 2014/02/28
  • CodeceptionとAspectMockを使って和田卓人さんの現在時刻に依存するテストを書いてみた - think it over

    TLで話題になっているCodeIQでの問題と解説はこちらです。 これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE 大変丁寧な解説、とても参考になりました。 ただ、参加されている方の採用したテスティングフレームワークにCodeceptionがない! 日PHP開発者にCodeceptionを流行らせたいワタクシとしては看過できない事態(=チャンス)です! ってことで、Codeceptionを使って書いてみました。 といいつつも、今回はCodeceptionがメインではなく、AspectMockがメイン。 AspectMockとは Codeceptionの開発者の@davertさんによる「ちょーすげー(not an ordinary)」PHP

    CodeceptionとAspectMockを使って和田卓人さんの現在時刻に依存するテストを書いてみた - think it over
  • TravisCIでSSHクライアントのテストをする。 - オープンソースこねこね

    AltaxというPHPで並列SSHするデプロイツールを作っているのですが、 これのSSH接続部分のテストは当然SSHサーバが必要で、そのへんをTravisでどーやるのかわからず、ずっと悩んでいました。 で、調べていたら、 https://github.com/libgit2/libgit2/pull/1774 が検索に引っかかって、これを見ながらやってみたらうまくできたので、メモしておきます。 やり方 以下のようなシェルスクリプトを用意します。 setup_ssh_server.sh #!/bin/sh sudo apt-get update -qq sudo apt-get install -qq libssh2-1-dev openssh-client openssh-server sudo start ssh ssh-keygen -t rsa -f ~/.ssh/id_rsa -N

    TravisCIでSSHクライアントのテストをする。 - オープンソースこねこね
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO
    k-holy
    k-holy 2013/11/13
  • 状態ではなく、振る舞いをモックせよ

    TL;DR GOOS『実践テスト駆動開発』で触れられている「ロールをモックせよ」について、違った角度で解説ドメインモデルを豊かにすることでコードがシンプルになる例Mock Behaviors, Not Statesユニットテストを記述する際、テスト対象のオブジェクトが利用しているオブジェクト(依存オブジェクト、隣接オブジェクト)はモックオブジェクトにして、テストしたい状況をテストコード側からコントロールします。しかし、闇雲にモックを使ってテストを記述すれば良いわけではありません。今回は、モックが有効に機能するテストとはどういったものなのかを解説します。 サンプルコード簡単なサンプルで説明します。Extract Till You Dropのモデルと近いものを使います。グループ、メンバー、およびグループリポジトリがあります。グループオブジェクトはインメモリでは所属メンバーの情報を保持しておら

    状態ではなく、振る舞いをモックせよ
    k-holy
    k-holy 2013/11/08
    モック使いすぎて何をテストしてるのか分からなくなる問題への対処法。ユースケースをクラス/メソッド化することでテスト対象を明確に。
  • 『PhantomJSを使ったスマホサイトテストの自動化(前編)』

    1 pixel|サイバーエージェント公式クリエイターズブログ サイバーエージェントのクリエイターの取り組みを紹介するオフィシャルブログです。最新技術への挑戦やサービス誕生の裏話、勉強会やイベントのレポートなどCAクリエイターの情報が満載です。 みなさんこんにちは! スマホ版Ameba担当の川口です。 ちょうど一年前、同じようにJavaScriptを使ったテスト手法について記事を書かせていただいたのですが、今回も懲りずにまた同じようなテーマで再登場いたしました。 JavaScriptのテスト手法 さて、スマホ版Amebaの全面リニューアルから早くも1年経ったのですが、今回はそんなスマホ版Amebaで日々自動テストツールとして活躍してもらっているPhantomJSを紹介させていただきます。 長い記事になるため、今回は前編・後編に分けて以下のような構成でお送りいたします。 ●前編 ・Phanto

    『PhantomJSを使ったスマホサイトテストの自動化(前編)』
  • YiiのFunctionalTestはWUnitで!Selenium暁に消ゆ。 - begginer - チュートリアル - yiijan.org

    Yiiフレームワークの機能テストはPHPUnitを介してSeleniumを利用します。そうです。Seleniumは高機能でFirefoxもChromeもIEだって動かせるのでJavaScriptの動作検証も何のそのですが、いかんせん重い。起動が重い。初期化が重い。リクエストが重い。消費メモリも重い。テストケースが増えるほどにそのプレッシャーをマシマシしてくるので正直専用サーバでないと辛いです。あってもレスポンスが遅いので開発がつらいです。TDDでコード書く時間よりテストが完了するのを待つ時間のほうが長いなんて言語同断なので他の使いましょう:) wunit | Extension | Yii Framework weavora/wunit Symfonyのテストは書いたことないですがSymfonyライクにテスト書けるWebクライアントだそうです。 インストール protected/exten

    k-holy
    k-holy 2012/08/22
    WUnitのテストケース、日本語表示
  • GitHub - weavora/wunit: Yii Community: Functional tests extension

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - weavora/wunit: Yii Community: Functional tests extension
    k-holy
    k-holy 2012/08/22
    Yiiで使われているWebテストフレームワークWUnit、Symfonyコンポーネント使用
  • DummyImage.com

    by Russell Heimlich (@kingkool68) 600x400/000/fffSize / Background Color / Foreground Color . Format & Text DocumentationSizewidth x height Height is optional, if no height is specified the image will be a square. Example: https://dummyimage.com/300Must be the first option in the urlYou can specify one dimension and a ratio and dummyimage will calculate the right value. Example: https://dummyimage

    DummyImage.com
    k-holy
    k-holy 2012/05/25
    テスト用画像ジェネレータ
  • Practical Symfony #12: モックオブジェクトによるページフローのテスト

    Symfonyの機能テストでは最初にWebTestCase::createClient()メソッドでClientオブジェクトを作成し、そのオブジェクトを使ってリクエストを行い、その返り値を確認することによってテストを行います。 テストクラス: <?php ... class ...Test extends WebTestCase { public function test...() { $client = static::createClient(); $client->request('GET', '/path/to/foo'); $this->assertEquals(200, $client->getResponse()->getStatusCode()); $this->assertThat($client->getCrawler()->filter('title')->text

    Practical Symfony #12: モックオブジェクトによるページフローのテスト
    k-holy
    k-holy 2012/03/23
    WebTestCaseコンポーネントを使った画面遷移のテスト
  • "Excelenium"(エクセレニウム)で,快適な自動回帰テストを  (Seleniumのテストスクリプトとテスト仕様書を自動生成) - 主に言語とシステム開発に関して

    テスト仕様を書くだけで,仕様書自身がテストを自動でやってくれる。 それがExcelenium(エクセレニウム)。 Excelenium = Excel + Selenium 左側で,操作のステップを日語で書くと, 右側で,テスト仕様書風のフォーマットの文章をリアルタイムで自動生成してくれる。 ※画像中で「確認」と書いてあるのは,チェックポイントの部分。これは自動的にオレンジ色のセルになる。 書く必要があるのは,青い線より左側だけ。 そして, 「この仕様書の全テストを実行」 というボタンを押すと・・・ Seleniumのテストケースが自動生成され, ブラウザが立ち上がり, テスト仕様書に書いてあった全テストが実行される。 (※ついでに,シート上の全テストケースに自動で番号が振られる。) Webアプリケーションの結合テスト / 回帰テストが大幅に楽になる。 従来のような「テスト仕様書」と称し

    "Excelenium"(エクセレニウム)で,快適な自動回帰テストを  (Seleniumのテストスクリプトとテスト仕様書を自動生成) - 主に言語とシステム開発に関して
  • 1