タグ

phpunitとPHPに関するmytechnoteのブックマーク (11)

  • PHPUnitのテストコードを書くときによく使うイディオム - Qiita

    /** * @test */ public function 例外が発生することをテストする() { $this->expectException(ExceptionA::class); $classA = new ClassA(); $classA->method1ClassA(); } /** * @test * @expectedException ExceptionA */ public function 例外が発生することをテストする() { $classA = new ClassA(); $classA->method1ClassA(); } /** * @test */ public function 例外が発生しないことをテストする() { $classA = new ClassA(); try { $classA->method1ClassA(); } catch (Ex

    PHPUnitのテストコードを書くときによく使うイディオム - Qiita
  • PHPのMockeryを使ってモックとスタブの違いを噛み砕いて説明する - Qiita

    はじめに PHPのモックフレームワークであるMockeryを使ったテストコードとサンプルケースで、モックとスタブの違いを自分なりに噛み砕いて説明してみます。 対象読者はMockery使ったことあるけどいまいちモックとスタブの違いがわからない人です。 モックとは テスト対象が依存している他のクラスのメソッドを、テスト対象が期待通り呼び出しているか検査するためのもの。 似てるけど違う、スタブとは テスト対象が依存している他のクラスの挙動に影響を受けないように、事前に定められた応答をするもの。 モックと違うところは、検査したい観点が違う。モックはテスト対象が依存クラスを使って期待したメッセージングをしているか確認する。 わからん コードで説明してみる Aさんは「2つの整数を足し算して答えが3の倍数ならアホになる」振る舞いをする人だと仮定します。 Aさんは「計算できる何か」が無いと足し算できません

    PHPのMockeryを使ってモックとスタブの違いを噛み砕いて説明する - Qiita
  • Laravel5でテスト(PHPUnit) - Qiita

    Laravelでは、PHPUnitPHPSpecの両方が最初から使えるようになっている。 Compose.jsonを見ると、 "require-dev": { "phpunit/phpunit": "~4.0", "phpspec/phpspec": "~2.1" }, となっている。 最初のテスト テストファイルの場所 Laraveでは、testはtestsディレクトリに置く。これは、phpunit.xmlの中で定義されているので必要に応じて変えることもできる。 テストファイルの命名規則 ・テストファイルはファイル名を、xxxTest.phpとすることでテスト対象となる。 ・メソッドは、testXXXXX()とするか、@testコメントをつけておくとtestと認識される。 テストの書き方 testsフォルダの中には、 ・ExampleTest.php ・TestCase.php の2つ

    Laravel5でテスト(PHPUnit) - Qiita
  • PHPUnitとPHPのバージョン対応表 – Shimabox Blog

    そこにペチパー(PHPer)が100人いたら97人はPHPUnitでテストを書く。 と言われている位(適当です)、PHPでは珍しくデファクトとなっているPHPUnit。 なにそうなのか!?と、いざ導入しようとしてwget https://phar.phpunit.de/phpunit.pharから入れたらPHPのバージョンが合っていなくて挫けそうになった経験。あると思います。 何故なら、PHPUnitの最新バージョンはPHP5.6PHP 7以上を求めているからです。 ※ 上記のwget 〜 では最新のPHPUnitが取得されます そして恐らく、みんながみんなPHPのバージョンは最新では無いはずです。 (一番マシなのが5.5系でヘタすれば未だに5.3系なんてとこも??5.2系使っていたら頭おかしい) え、じゃあ僕は5.5系使っているんだけど、どうしたらいいの?私は5.4系よ、どうしたらいいの

    PHPUnitとPHPのバージョン対応表 – Shimabox Blog
  • JenkinsでFuelPHPのユニットテストを自動化してみた - sometimes I laugh

    Jenkins、いいですよね。オペレーションの自動化には美があります。前回の記事ではGitによるデプロイ自動化を行いましたが、その時点で既にユニットテストの自動化は想定していたので、今回はそれを実現してみます。 これによって、機能を実装してプッシュする度に自動でデプロイされ、その過程でテストが自動で行われるので、特に通知がなければ動作が保証されるようになります。実際に番環境への適用の際には、もう少ししっかりテストをする必要があるのかもしれませんが、開発環境レベルではテストを意識的に実施せずとも気兼ねなく開発を進めることができます。 ユニットテストにはおなじみのPHPUnitを使います。なお、前回のJenkins導入やデプロイ自動化の話はこちらの記事でまとめてありますのでよろしければどうぞ。 ユニットテストとテスト自動化 従来、プログラムのテストはミスの許されない商用プロダクトでは欠かせな

    JenkinsでFuelPHPのユニットテストを自動化してみた - sometimes I laugh
  • PHPUnit の実行を自動化する 3 つの方法 | Born Too Late

    皆さん, ユニットテスト書いてますか. TDD (テスト駆動開発) によるプログラミングは当に楽しいものですが, コマンドをいちいち手動で実行するのは面倒ですよね. テストを自動化しているんだから, その実行も自動化したいですよね. この記事では, 私が仕事趣味で使っている PHPUnit を例に, テストの実行の自動化について紹介します. PHPUnit の, としてはいますが, 他の言語で使えるテクニックもあります. なお, ここでの自動化は開発しながらの自動実行のことで, CI (継続的インテグレーション) の話は出てきません. その前に... 私の開発時のターミナルは以下のようになっています. [caption id="attachment_1298" align="alignnone" width="300" caption="開発時のターミナル"][/caption] GN

    PHPUnit の実行を自動化する 3 つの方法 | Born Too Late
  • PHPUnit 並列実行に挑戦中 - jwata blog

    仕事PHPUnitを使うようになって1年くらいが経ち、チーム内にテスト書く文化が定着してきました。 テストの質と量が向上して、有効性も高まってきていい感じだなーと思う反面 「時間かかり過ぎ 」 という、面倒くさい問題が浮上してきました><。 現状のテスト実行ログ % ./vendor/bin/phpunit PHPUnit 3.7.28 by Sebastian Bergmann. ............................................................... 63 / 612 ( 10%) ............................................................... 126 / 612 ( 20%) .............................................

    PHPUnit 並列実行に挑戦中 - jwata blog
  • 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 でテスト駆動開発を始めよう
  • watchrでファイル更新時にPHPUnitを走らせる。

    最近、みんなに「テストを書こう」「クオリティを上げよう」と言いまくっています。 その手前、「自分もちゃんと整備しないと説得力がないな」ということで、少し整備しました。テストの実行をプログラムの変更をコミットする時にしていましたが、常にテストが走っているような状態を作ろうと思いました。 PHPUnitのインストール 今回やったのはこちらではありませんが、一応メモしておきます。 sudo pear install phpunit/phpunit 設定はxmlファイルに書きます。 sudo vim ~/Project/phpunit.xml 以下のような感じ。 . Tests これでTestsディレクトリから、テストケースを全て探索して、テストを実行できます。 phpunit 実行はxmlファイルの存在するディレクトリからphpunitを実行するだけ。 watchrでファイルの変更時にphpun

    watchrでファイル更新時にPHPUnitを走らせる。
  • PHPUnit マニュアル – 第1章 PHPUnit のインストール

    PHPUnit 6.5 は PHP 7 以降のバージョンで動作しますが、最新版の PHP を使うことを強く推奨します。 PHPUnit を使うには、拡張モジュール dom、json、 が必要です。これらは通常、デフォルトで有効になっています。 PHPUnit また、拡張モジュール pcre、 reflection、 そして spl も必要です。これらは標準の拡張モジュールとしてデフォルトで有効になっており、 PHP のビルドシステムやソースファイルに手を加えない限り、 無効にすることはできません。 コードカバレッジをサポートするには Xdebug 2.5.0 以降と tokenizer 拡張モジュールが必要です。 XML 形式で情報を出力するには、xmlwriter 拡張モジュールも必要です。 PHPUnit を入手する一番簡単な方法は、PHP Archive (PHAR) をダウンロード

  • ComposerでPHPUnit一式+Mockeryをインストール - Qiita

    phpunit家はなかなかcomposerに対応していませんでした。なので、今までは家のリポジトリではなく、EHER/phpunit-all-in-oneからphpunitをインストールするのが最も手軽でした。しかし、2012年8月13日に家がcomposerをサポートしため、家のリポジトリからインストールすることができます。 composer.json の "require-dev" は開発系の依存パッケージを指定するためのものです。一方、ここにはありませんが、通常の "require" はプロダクトの依存パッケージを指定するのものです。この2つを区別することで、開発環境やビルドマシンではComposerでPHPUnitをインストールでき、プロダクション環境ではPHPUnitをインストールしないように環境に応じて選択することができます。 ComposerでPHPUnitなどをイ

    ComposerでPHPUnit一式+Mockeryをインストール - Qiita
  • 1