タグ

testに関するkathewのブックマーク (88)

  • PHP でプライベート変数やメソッドをクラスの外から操作する

    エントリはPHP 5.3.2以上で正常に動きます。 何のためかというと、例えばテストのときに使います。 プログラムの構造を変更するコトを、リフレクションといいます。 リフレクションとは、 プログラムの実行過程でプログラム自身の構造を読み取ったり書き換えたりする技術のことである。 リフレクション (情報工学) | Wikipediaより。 PHPのリフレクションまわりのManualはコチラです。 このエントリの目次 1.このエントリで使うサンプルクラス 2.プライベート変数をクラスの外から操作する 3.プライベートメソッドをクラスの外から操作する 4.最後に 1.このエントリで使うサンプルクラス <php class HideyoshiToyotomi { //建前 //(書いてるだけでエントリでは特に触れません) public $statedReason = '信長さまー!'; //

    PHP でプライベート変数やメソッドをクラスの外から操作する
  • PHPUnitの使い方まとめ - Qiita

    「はじめに」の「はじめに」 2016年版としてマイグレーションしました。 特にこだわりが無い場合は、こちらを参照してください。 はじめに こんな感じで資料を作ろうとしていた草稿です。 文中のソースコードの正誤とかは見きれていません。 ツッコミとか有れば、よろしくお願いしますm( _ _ )m PHPUnitを使ったからといって、どんなソースコードもテストできる訳ではありません。 テストをし易いようにクラスを設計している必要があります。また、そのように設計していてもUnitテストに入れることの出来ない箇所は出てきます。Unitテストに入れることの出来ない箇所は出来ないと割り切らなければなりません。むしろ、どれだけのコードをUnitテストに入れることが出来るか? というのが設計者の腕の見せどころになるでしょう。 極論を言うと 「どんなクラスでも疎結合に実装していなければならない」 ということで

    PHPUnitの使い方まとめ - Qiita
  • PHPUnit マニュアル – 付録B アノテーション

    アノテーションとはメタデータを表す特別な構文のことで、 プログラミング言語のソースコードに追加することができます。 PHP そのものにはソースコードにアノテーションする専用の仕組みはありませんが、 ドキュメンテーションブロックに @アノテーション名 引数 のようなタグを書くことでアノテーションを表すという記法が PHP コミュニティ内で一般に使われています。 PHP では、リフレクション API の getDocComment() メソッドを使えば関数、クラス、メソッド、属性 それぞれのドキュメンテーションブロックにアクセスすることができます。 PHPUnit などのアプリケーションでは、 この情報をもとに実行時の振る舞いを設定するのです。 注記 PHP の doc コメントは、/** で始めて */ で終わる必要があります。 その他の形式のコメントで書いたアノテーションは、無視されます。

  • PHPならPhakeで快適モックライフ! - Qiita

    なぜPHPUnitを使わないか PHPでテストといえば、おなじみPHPUnit。モック・スタブも実装されており、PHPUnitさえ使っていれば困ることもなく…。 いえ、私は困りました。PHPUnitのモック、すこし記述が冗長になるのが欠点。CakePHPといったフレームワークを横断的にテストする際、テストコードが整然と並ばず複雑な入れ子になったとき、これはまずいと直感し他の技術を探し求めたのです。 そこで知ったのがPhakeフレームワーク。Javaのモック・フレームワーク"Mockito"が由来だそうです。 https://github.com/mlively/Phake すでにPhakeに関する記事はいくつか書いていますが、今一度まとめておきます。 CakePHPPhakeを導入するノウハウ CakePHPはテストクラスがPHPUnitに依存しているため、他のフレームワークの介入には工

    PHPならPhakeで快適モックライフ! - Qiita
  • QUnitの基本的な使い方 - but hopeful

    [追記] 2013/9/1 三年前の記事が未だに読まれているようなので、一応書いておきますが、あれから色々変わってもっと良いものも出ています。 QUnit でも別に問題はないですが、今から QUnit を使うよりは http://visionmedia.github.io/mocha/:title=mocha] とかの方が個人的にはお勧めです。とにかく、今は色々あるのでもっと別の選択肢調べて見ることを個人的にはおすすめします。別に QUnit は使わないほうが良いとは言いません。 JavaScriptのテスティングフレームワークはいろいろありますが、自分は今主にQUnitを使っているので、少し使い方をまとめて見たいと思います。 [追記]今回作成したソースを上げました。ninja.js QUnit とは QUnitはもともと、jQueryをテストするために開発されたJavaScript Un

    QUnitの基本的な使い方 - but hopeful
  • PHPUnit マニュアル – 第2章 PHPUnit 用のテストの書き方

    例 2.1 で、 PHP の配列操作のテストを PHPUnit 用に書く方法を示します。 この例では、PHPUnit を使ったテストを書く際の基的な決まり事や手順を紹介します。 Class という名前のクラスのテストは、ClassTest という名前のクラスに記述します。 ClassTest は、(ほとんどの場合) PHPUnit\Framework\TestCase を継承します。 テストは、test* という名前のパブリックメソッドとなります。 あるいは、@test アノテーションをメソッドのコメント部で使用することで、それがテストメソッドであることを示すこともできます。 テストメソッドの中で assertEquals() のようなアサーションメソッド (付録 A を参照ください) を使用して、期待される値と実際の値が等しいことを確かめます。 <?php use PHPUnit\Fr

  • CakePHP + PHPUnitでの TDD 超入門 - Qiita

    はじめに このエントリーは TDD AdventCalendar 2013 の第21目の記事です。 前日のエントリーは、tq_jappyさんによる「レガシーテストコード改善ガイド #TddAdventJp」でした。 わたしも Advent Calendar 初参加です。どうぞよろしくお願いします。 この記事では主に TDD とはなにか聞いたことはあるけど、実践したことはない、というような方を対象に、 CakePHPPHPUnit を使った TDD の進め方をご紹介したいと思います。 CakePHPPHPUnit はそれぞれ開発環境にインストールされて、使える状態になっていることを仮定します。 準備 まずは CakePHP インストール直後の、この画面が出るところから始めます。 何をテストするか 今回はテスト対象として、ソーシャルゲームでよくあるような処理を取り上げてみたいと思い

    CakePHP + PHPUnitでの TDD 超入門 - Qiita
  • Mochaを使ってJavaScriptのテストをブラウザで実行してみよう

    対象読者 JavaScriptの基をある程度理解している方 テストコードをこれから書こうと考えている方 JavaScriptのテスティングライブラリの分類 JavaScriptには、テストを記述するためのライブラリが多く用意されています。ライブラリには、大きく分けて「テスティングフレームワーク」と「アサーションライブラリ」があります。まずはこの2種類の違いについて説明します。 テスティングフレームワーク テストを記述する関数群を提供し、それらの関数を使って書かれたテストの結果を判定、集計した上で結果を表示する機能を持ちます。ブラウザでのテストの場合、ブラウザ上でグラフィカルにテスト結果を表示することもありますし、サーバサイドのJavaScriptであるNode.js向けにはコマンドラインで実行し、結果を表示する機能も持ちます。 アサーションライブラリ テスティングフレームワークは、テスト

    Mochaを使ってJavaScriptのテストをブラウザで実行してみよう
  • oukasei.com - oukasei リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    oukasei.com - oukasei リソースおよび情報
  • Jasmine使い方メモ - Qiita

    describe('add 関数のテスト', function() { it('1 + 1 は 2', function() { expect(add(1, 1)).toBe(2); }); it('1 + 4 は 5', function() { expect(add(1, 4)).toBe(5); }); it('10 + 2 は 12', function() { expect(add(10, 2)).toBe(5); // わざと失敗させている }); }); <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <script src="jasmine.js"></script> <script src="jasmine-html.js"></script> <script src="boot.js"></script> <

    Jasmine使い方メモ - Qiita
  • JsUnit を使った JavaScript のユニットテスト - WebOS Goodies

    アプリケーションを開発する上で、避けて通れないもの、それがテストです。とくにブラウザごとの非互換性が大きい Web アプリケーションでは、念入りなテストが必要です。でも、テストはあまり創造的な作業ではないし、やったからといってなにか機能が増えるわけでもない。できるだけ手間をかけずに済ませたいところですね。 そんなわけで、日は JavaScript 用のテストフレームワークである JsUnit を利用したユニットテストの方法をご紹介しようと思います。 Ruby のユニットテストの記事でも書きましたが、ユニットテストによるテスト・ファースト開発は開発効率の面でも良い影響があります。まだ導入していない方は、ぜひこの機会に使ってみてください。 JsUnit について 今回利用する JsUnitJava 用の JUnit を参考にして作られた JavaScript 用のユニットテストフレーム

  • JavaScriptでスパイ、スタブ、モックなどのテストダブルを行う

    連載は、テストコードをこれから書こうと考えているJavaScript技術者を対象に、テストコードの意義から、テスト駆動開発、JavaScriptでのテストコードの書き方、継続的インテグレーションなどテスト全般にわたって解説します。また、原理原則だけでなくWhyから説明し、チームメンバーを巻き込みながら開発現場に活かせる考え方を総合的に解説します。第4回目の稿は、JavaScriptでのテストダブルの方法を、Sinon.jsというJavaScriptテストダブルモジュールを使って説明します。 対象読者 JavaScriptの基をある程度理解している方 テストコードをこれから書こうと考えている方 テストダブルとは テストコードを実行する際に、次のような課題に直面したことはないでしょうか。 Ajaxへのサーバへの問い合わせのような外部リソースも含めた処理のテストを行う必要があるが、テストデ

    JavaScriptでスパイ、スタブ、モックなどのテストダブルを行う
  • MySQLで簡単にランダムなテストデータを作成する方法 - Qiita

    MySQLで大量のダミーデータをテスト用に必要だったため、WEBをググって情報を集めてみました。 SQLだけで実現しているので使いやすいかと思います。 ##データ型別のランダムデータ作成方法 INT(1〜100の範囲)

    MySQLで簡単にランダムなテストデータを作成する方法 - Qiita
  • 無料でIEのマルチバージョンテスト「Modern.IE」開発での利用時の注意点 - ふろしき Blog

    Microsoftは、6以降の全てのIEの動作をテストできる手段として、「Modern.IE」というサービスを提供しています。 タイトルでは無料と言っていますが、実際には一部のサービスのみが無料となっています。 来なら有償のサービスを売り込みたいところなのでしょうが、残念なことに無料のサービスの方が、SI業界の人間であれば待ってましたと言わんばかりの機能性を兼ね備えてしまっています。そのサービスとは「Modern.IE VM」です。 Modern.IE VMとは? Modern.IE VMとは、90日間無償で利用できる、IEテスト用のVMイメージです。ライセンスが切れても、正規の手順を踏めば再びライセンスされるため、この点で単なる試用版とは異なる特性を持っているように思えます。Windows版の場合、以下の仮想化製品のVMを提供しています。 Hyper-V(Windows Server

    無料でIEのマルチバージョンテスト「Modern.IE」開発での利用時の注意点 - ふろしき Blog
  • Androidのテスティングフレームワークを選定してみる - Qiita

    Androidで良い感じにテストするために、たくさんあるテスティングフレームワークを試して選定してみる。 環境 OS X Android Studio 1.0.2 テスト用サンプルアプリ 入力された値を足して表示するだけのサンプルアプリ(アクティビティを跨いだテストもしたいので2画面構成)。 リポジトリ https://github.com/shikato/AndroidTestSample 今回はこのアプリに対してテストする。 ロジックのテスト Android Testing Framework 標準でJUnitベースのAndroid Testing Frameworkが使える。 これまではJUnit3ベースだったけど、最近JUnit4がAndroid support libraryに含まれるようになり、JUnit4な記述でも簡単に書けるようになった。 JUnit4の導入 1. Andr

    Androidのテスティングフレームワークを選定してみる - Qiita
  • Ooharabucyou

    詳しくは投稿をご覧ください。

    Ooharabucyou
  • 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
  • https://blog.astrumfutura.com/tag/mockery/

    kathew
    kathew 2014/11/14
    Mocking Protected Methods ‥ ->shouldAllowMockingProtectedMethods()
  • mockery/tests/Mockery/ExpectationTest.php at main · mockery/mockery

    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

    mockery/tests/Mockery/ExpectationTest.php at main · mockery/mockery
  • 「Mockery」を使ってサクッとPHPのテストを書いてみる

    ごあいさつ はじめまして。アライドアーキテクツの石川と申します。 2月に入社してから早くも3ヶ月がたとうとしています。 私は前の職場ではほとんどjavaで開発していたのですが、 アライドに入社してからは主にPHPで開発をしています。 私の回では、その時その時に関心のある技術情報を発信していければ、と思っています。 皆様どうぞよろしくお願いいたします。 今の自分の課題はとにかくUnitテストを書くことなので、 今回はPHPのモッキングフレームワークである「Mockery」について書きたいと思います。 Mockeryって? padraic / mockery こちらで御座います。 static methodのモック化が出来たり、テスト対象のメソッド内部で生成されるインスタンスをモック化したり、 PHPUnitでやろうとすると一手間かかることをサクっと出来てしまいます。 Let’s インストール