Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

<?php class API_Test_Skeleton extends PHPUnit_Framework_TestCase { private $test_domain = "api-test.localhost"; private $test_url = "/path/to/test_api_root/"; /* * Post Helper * Thanks * http://www.programming-magic.com/20080226023511/ * and http://abbadabba.coolk2.com/212/ */ private function do_post_request($url,$value) { $headers = array('Content-Type: application/x-www-form-urlencoded','Conten
PhpStorm 7 が PHPUnit 4 をサポートしていなかったので少し前まで PHPUnit は 3.7 を使っていましたが、9 月に PhpStorm 8 がリリースされ、PHPUnit 4 も動作するようになったので、そろそろ使っていこうかと思います。 なお、PhpStorm 7 で PHPUnit 4 が使えなかったのは次の理由だそうです。 PHPUnit マニュアル – 付録D アップグレード PHPUnit_Framework_TestListener インターフェイスに addRiskyTest() が追加されました。 PHPUnit_Framework_TestListener インターフェイスを実装するクラスは、新たにこのメソッドを実装する必要があります。 たとえば PHPStorm 7 で PHPUnit 4 が使えないのは、これが原因です。 PHPUnit 3.
<?php class PickSlowListener extends PHPUnit_Framework_BaseTestListener { private $test_start_time; private $test_time_results = array(); private $rank_limit; public function __construct($rank_limit) { $this->rank_limit = $rank_limit; } public function startTestSuite(PHPUnit_Framework_TestSuite $suite) { $this->test_start_time = microtime(true); } public function endTestSuite(PHPUnit_Framework_Tes
IT業界の闇とは我々のことである お久しぶりです。もりすけと申します。 私はこのWebサービス業界に入ってこの方、 「SES(システムエンジニアリングサービス)」という形態で仕事を行っています。 我々にユニットテストのコストは計上されていない LaravelのDIコンテナはユニットテストと共に語られることが多く、 ユニットテストを回すという文化に触れる機会を逃していた私は、DIコンテナの有用性をしばらく理解できずにいました。 また理解する必要もないと思っていました。 ただ長いこと触れてみた結果、テスト抜きで考えても、DIコンテナにはそれなりのメリットがあると自分は考えています。 なので今回のテーマはこれです。 テスト抜きで考えて、DIコンテナの何がメリット足りうるのか そこを理解できればLaravelのDIコンテナを楽しく活用できるはずです。 前置きが長くなりましたが、ここからが本題です。
はじめに このエントリーは TDD AdventCalendar 2013 の第21目の記事です。 前日のエントリーは、tq_jappyさんによる「レガシーテストコード改善ガイド #TddAdventJp」でした。 わたしも Advent Calendar 初参加です。どうぞよろしくお願いします。 この記事では主に TDD とはなにか聞いたことはあるけど、実践したことはない、というような方を対象に、 CakePHP と PHPUnit を使った TDD の進め方をご紹介したいと思います。 CakePHP と PHPUnit はそれぞれ開発環境にインストールされて、使える状態になっていることを仮定します。 準備 まずは CakePHP インストール直後の、この画面が出るところから始めます。 何をテストするか 今回はテスト対象として、ソーシャルゲームでよくあるような処理を取り上げてみたいと思い
はじめまして、セプテーニ・テクノロジー(ベトナム・ハノイ)駐在の鎌田です。 昨今、社内グループにおける新規サービス開発の現場においても、RailsのRspec、ScalaのScalaTest・Specs2等々、 自然言語に近いテスト表記を用いた近代的なテスト駆動開発が主流になってきてます。 とは言え、数年前から運営中のサービス(=テストコードが無かったりする、いわゆるレガシーコード)だと、当然、既存のフレームワークの中で選択可能なテストツールの種類も限られてきます。 そんな中、今回はあえて(?)今のトレンドから若干離れてる気がしなくもないですが、CakePHP × PHPUnitな記事を書こうとおもいます。 想定の環境としては、あらかじめCakePHP 2.xが入ってる前提です。 1.PHPUnitのインストール Pearからインストールする方法が一般的ですが、Pearから最新のPHPUn
自動テストって意識高そうで恰好良いですよね! 普段ブラウザ用のJavaScriptしか書かない人なのですが、テストについて調べても、難しい話から始まる記事ばかりで「アサーションって何?」とか「何で通常のファイルとは別のjsが必要なの?」みたいな気持でした。この記事では簡単な前提条件から、mocha/chaiの使い方の概要が分かる部分までを説明したいと思います。 そもそもテストとは何? ソフトウェア開発におけるテストとは、ソフトウェアの振舞いが想定した通りであるかを検証することです。ソフトウェアのサブルーチンを取り出してテストする「単体テスト/ユニットテスト」と、ソフトウェア全体の挙動をテストする「結合テスト」があります。mocha・chaiはこのうちの「単体テスト」を対象としたツールです。 じゃあ単体テストって何をすることなの? 単体テストとは、ある特定の関数を対象に、入力値と出力値が仕様
describe('Todo', () => { var Todo: any = require('../lib/todo'); // 既に大部分が実装されているものとする var TodoStub: any; beforeEach(() => { /* TodoStub */ TodoStub = { get: sinon.stub(Todo.prototype, 'get').returns('dummy'), put: sinon.stub(Todo.prototype, 'put'), remove: sinon.stub(Todo.prototype, 'remove'), }; }); });
こんにちは、ほそ道です。 前回のJasmineモジュールテストに引き続きテストを掘り下げていきます。 今回はUIテストをやってみたいと思います。前回分も読んでおいていただくと理解度シナジーが起こって良い感じになると思います。 目次はこちら 今回扱う範囲/扱わない範囲 まずはブラウザ上でJavaScriptを実行しJasmineと絡めて実行結果をテストします。 次にブラウザ上のDOMの状態(スタイル含む)をテストします。 今回のテスト内容にとりあえず遷移というかページ(リ)ロードは含めません。これが絡むと非常に厄介さが増すので遷移は別途取り上げたいと思います。 Karmaを実行する まずはKarmaの実行から。 Karmaは実ブラウザでJavaScriptコードを実行できる実行環境で、テストフレームワークと組み合わせてテストを行う事ができます。 エミュレータやヘッドレスブラウザではなく実ブラ
フロントエンドエンジニア養成読本のテストランナーの項を写経してたら思いがけないエラーに遭遇したのでその解決方法。 まずは、本の通り、foo.jsとfoo_spec.jsを書いて設定ファイル(karma.conf.js)を作ってからターミナル上でKarmaを起動します。 すると、 PhantomJS 1.9.7 (Mac OS X) ERROR ReferenceError: Can't find variable: chai Chrome 36.0.1985 (Mac OS X 10.9.4) ERROR Uncaught ReferenceError: chai is not defined のエラーが。 そこで、 karma.conf.jsの中を見て、 frameworks: ['mocha'],の部分を frameworks: ['mocha', 'chai'],と書き換えて再度ター
buster staticのようにコマンドで、テストやデバッグ用のWebサーバが立てられるといいなと思って書きました。このスクリプトをPYTHONPATHが通っているディレクトリに放り込んでおき、 python -m mocha_server lib/*.js test/*.js でカレントディレクトリでWebサーバを起動させます。 実行するには、python2(3は不可)とFlaskというフレームワークが必要です。 # !/usr/bin/env python # coding: utf-8 """ Mocha server usage: $ python mocha_server.py lib/*.js test/*.js or $ python -m mocha_server lib/*.js test/*.js """ PORT = 8008 import sys import o
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く