並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 2341件

新着順 人気順

phpunitの検索結果81 - 120 件 / 2341件

  • Continuous Integration/Delivery for PHP Projects

    Welcome! I assume that you came to this website looking for information on how to implement Continuous Integration (CI) and Continuous Delivery (CD) pipelines for PHP projects with Jenkins. Back in 2010, I created an Open Source template for Jenkins jobs for PHP projects and this website used to be the home of that project. I have neither used Jenkins nor updated the aforementioned template in qui

    • 第1回 PHPUnit入門 | gihyo.jp

      はじめに 皆さん、テストしてますか? 近年、システム開発を発注する顧客や利用ユーザーの品質に対する要求レベルは格段に向上しています。そのため、システムの品質を保証するための「テストフェーズ」はますます欠かせなくなってきています。 ここで、一口に「テスト」といっても、フェーズによって以下のような様々なテストがあります。 ユニットテスト・単体テスト 結合テスト・システムテスト 総合テスト 受け入れテスト 負荷テスト セキュリティテスト 筆者の経験上、一般的なシステム開発でもっとも大きな工数を占めるのは、この「テスト」フェーズと考えています。なぜなら、テストフェーズは例外なく「繰り返し作業」だからです。前述の様々なテストフェーズで共通することですが、テストフェーズは「テストで発見されたバグ・障害を修正して再度テストを行う」という作業を何度も繰り返し行うフェーズです。あとのフェーズで不具合が発見さ

        第1回 PHPUnit入門 | gihyo.jp
      • FuelPHP 入門書の決定版『はじめてのフレームワークとしての FuelPHP』が発売されます - A Day in Serenity @ kenjis

        大変お待たせしました。FuelPHP の入門書 『はじめてのフレームワークとしての FuelPHP』 がついに7月2日に発売されることになりました。待った甲斐があったと思われるような完成度の高い書籍に仕上がりました。 この本は、以下のようなことが当てはまる人に自信を持ってお薦めします。 FuelPHP に興味があるが、Web の情報は断片的で、しかも正確なものかどうかもよくわからなくて困る FuelPHP の全体像や考え方を手っ取り早く知りたい また、以下のようなことが当てはまる人にも是非お読みいただきたいです。 PHP は使ってるけど、フレームワークって何?Smarty とどう違うの?まだ使ったことがないので知りたい PHP 使ってるけど、どうにもレガシーでこの会社大丈夫か?と疑問を感じる 使ってるフレームワークがオレオレフレームワークでしかも実装がイケてない。あと、他人がメンテできず困

        • レガシーなプロダクトにテストで向き合う話 | GREE Engineering

          はじめまして。荻原といいます。グリーのプラットフォーム部門で、サーバーサイドのエンジニアをしています。 昨年末ぐらいまで業務の空き時間にテスト周りでごにょごにょと動いていたので、今日はそのことについて書かせて頂きます。 こんな人は読むと役に立つかもしれません。 レガシーなプロダクトになんとかして突破口を開きたい PHPUnit の書き方で参考になりそうなものを探している Ruby でスマートフォンのブラウザ操作を自動化したい 経緯 こちらでも言及されている通り、サービスを運営している以上、時には技術的負債に向き合わなければなりません。GREEも歴史が長いプロダクトなので、日々コードをリリースしていく中でそういった問題に頭を抱える場面もありました。 技術的負債による副作用はたくさんありますが、どういう点に不安を感じていたのか、実際に開発の現場に立って感じたことをいくつか書いてみたいと思います

            レガシーなプロダクトにテストで向き合う話 | GREE Engineering
          • 【ネタ】秀丸強化計画 - ShiroKappa Blog

            10/27の夜に社内勉強会「開発環境勉強会:超エディタ論争」が開催されました。 9月に自称PHPer最強のVimerが入社し、社内のEmacserの心に火をつけたのが開催のきっかけだったようですが、当のVimerさんは体調不良で不参加と言う中、[twitter:@yattom]さんも見学に来られるとのことで強硬開催されました。 今回は、Vimer代表、Emacser代表、NetBeans代表がそれぞれネタを持ち寄って発表するとのことだったので、コンテンパンに叩きのめされるのを覚悟でネタで「秀丸代表」を務めさせていただきました(^_^;) エディタ論争と言うことでエディタの話題だけでしたが、開発環境はエディタだけでなく、OS、テスト環境、ブラウザ、ブラウザに入れるプラグイン、PC周りに置かれたガラケー、スマホなどの実機など、開発を効率化するために必要なあらゆる環境が今後の勉強会で議論されれば

              【ネタ】秀丸強化計画 - ShiroKappa Blog
            • PHPで日付時刻の処理を書くなら Carbon がおすすめ

              どうも、筋トレにハマっているたきゃはしです。 本日はPHPにおける日付時刻のライブラリについて書いていきたいと思います。 突然ですが、日付や時刻が絡む処理って意外とやっかいだと思いませんか?おそらく皆さんもいくつか思い当たるフシがあるかと思いますが、そんなやっかい事も Carbon(カーボン)を使えば解消できるかもしれません! Carbon - A simple PHP API extension for DateTime. Carbon とはPHPのDateTimeクラスを継承して拡張された日時操作ライブラリです。 「Carbonってどうなの?流行ってるの?」という方向けに予め補足致します。 Carbonはすでに人気のフレームワークに統合されていたり、GitHubで☆3000に迫る評価もありますのでDateTimeライブラリとしてデファクトになるんじゃないかと予想できます。 ではインスト

                PHPで日付時刻の処理を書くなら Carbon がおすすめ
              • 規模別PHPUnitでのテストの書き方いろいろ - Architect Note

                最近になってPHPUnitをちゃんと使ってユニットテストを書くようになってきたのですが、まだまだTipsが足りないと感じます。個人的に実践している書き方をいくつか並べてみます。 追記:最初、シェバングと書いていましたが、オプションを渡せる数が決まっていたりOSによっては動かなかったりとあまり便利でないことがわかりました。。phpunit.xmlを書いた方がいいかも。 ちょっとしたテスト → シェルスクリプト化する PHPUnitは高機能なのですが、いかんせん最初の障壁が高いと思います。とにかく気軽に書きたいなら、シェルスクリプトを作って単独ファイルで実行できるようにするといいです。 #!/bin/sh phpunit --colors *Test.php # ↑オプションを書き並べておく <?php class SampleTest extends PHPUnit_Framework_Te

                  規模別PHPUnitでのテストの書き方いろいろ - Architect Note
                • BehatとSeleniumを組み合わせ受け入れテストを自動化する

                  みなさんこんにちは。@ryuzeeです。 Behatは良さそうなので引き続き検証しています。 今回は、BehatとSeleniumを組み合わせて、受け入れテスト型のテストを自動化してみたので、その方法について説明しましょう。 なお、前回の記事を読まれていない場合はまずそちらを参照してください。 PHPでBDD(Behavior Driven Development)する方法 Seleniumの課題僕が関わっている案件では受入テストを自動化しているケースももちろんあって、その際はPHPUnitとSeleniumを組み合わせています。 このテストには以下のような課題があります。 画面の操作をするphpコードが大量にあって、ソースを見ただけでは何をしているのか分かりにくいSeleniumは操作に画面の要素名利用するため、例えばサイトのデザインを大幅に変えたりすると、テストの中身も大幅に書き換えな

                    BehatとSeleniumを組み合わせ受け入れテストを自動化する
                  • Awesome Selenium : 素晴しい Selenium ライブラリの数々 - Qiita

                    元記事: Awesome Selenium Awesome List in Qiita Awesome Ruby Awesome Java Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Appium Tools JavaScript selenium-webdriver - Selenium プロジェクトの公式 WebDriver バインディング. WD - WebDriver/Selenium 2 の node.js クライアント. WebdriverIO - WebDriver に 50 以上のアクションを追加したより良い実装. CasperJS - オープンソースナビゲーションスクリプティング & テスティングユーティリティ. Zombie.js - めちゃくちゃ早い, ヘッドレスフルスタック

                      Awesome Selenium : 素晴しい Selenium ライブラリの数々 - Qiita
                    • PHPで冗長化したコードを自動で検出してコードの最適化に使える「PHPCPD」:phpspot開発日誌

                      Detecting duplicate code in PHP files : CodeDiesel PHPで冗長化したコードを自動で検出してコードの最適化に使える「PHPCPD」。 プログラムが大きくなってくると、同じような処理を違う場所で何度もやっているということがあります。 ソースコードのファイル数が多くなってくるとそれを探すのは大変ですが、その冗長部分を自動で検出できるPHP Copy Paste Detector(CPD)のご紹介。 使い方の流れが書かれていたので、試してみました(Windows上で実施) PHPCPDをPEARコマンドでインストールする 1) channel-discover でpearチャネル追加 Windowsの場合はコマンドプロンプトを開いて、pear コマンドを実行。Unix系でも同様にpearコマンドを実行> pear channel-discover

                      • 8時間耐久PHPUnitの教室

                        下北沢で開催したPHPUnit講座の資料です。 動画などはこちら。 http://blog.candycane.jp/archives/1480 Read less

                          8時間耐久PHPUnitの教室
                        • ウノウラボ by Zynga Japan: EclipseでPHP開発

                          メリークリスマス!11月に入社した関山です。 みなさんはPHP開発に何を使っていますか? 僕はMac用のエディタTextMateとmi、コンソールではvimを併用していますが、入社を機にEclipseでのPHP開発にトライしました。 Eclipse for PHP Developersをインストール Eclipse DownloadsよりPHP開発ツール (PDT) がセットアップ済みのパッケージEclipse for PHP Developersが入手できますので、これを使いました。バージョンは最新のEclipse Helios (3.6.1 SR1)です。 プラグインをインストール ローカルで開発するだけならそのままでも大丈夫ですが、僕は以下のプラグインをインストールしました。 Babel インストール直後はUIが英語なので、プラグインで日本語化します。 「ヘルプ」>「新規ソフトウ

                          • PHPでもHudson使うべし

                            今までもPHP案件でCIはしているんだけど、環境にはCruiseControl+phpUnderControlという構成で、これももう古いなぁと思ったのでHudsonに移行してみた。 感触としては、PHP案件でもHudson使うべし、でいいんじゃないかな。 導入 今回導入した環境はCentOS5.3なので、rpmを使ってインストールできる。 sudo rpm --import http://hudson-ci.org/redhat/hudson-ci.org.key wget http://hudson-ci.org/latest/redhat/hudson.rpm rpm -Uvh hudson.rpm なお、当然のことだが、Hudsonを動作させるためにはJDKのインストールが必要なので、先にインストールしておく。 インストールが完了したら自動起動の設定をして、起動する。 /sbin/

                              PHPでもHudson使うべし
                            • PHP Development Company - Hire Senior PHP Developers - Astec

                              PHP is an open-source server-side scripting language widely used in web development. Mature and well-tested, PHP is constantly being developed to provide new features and become even more robust and flexible. Varied PHP frameworks allow developers to use powerful tools that facilitate the development process. Easy to start with but hard to master, PHP can be a beast if used properly by skilled dev

                              • 一人でゲームをリリースするための自動化 PHPUnit編 ~目指せCoverage 100%~

                                Coverage 100%への道のり 1. --coverage-htmlして現状を確認 2. time()やmt_rand()などを使うコードもテスト 3. 複雑なオブジェクトを使うコードもテスト 4. ファイルシステムを使うコードもテストRead less

                                  一人でゲームをリリースするための自動化 PHPUnit編 ~目指せCoverage 100%~
                                • PHPでBDD(Behavior Driven Development)する方法

                                  みなさんこんにちは。@ryuzeeです。 RubyであればRSpecやCucumberとか使って、むしろBDDしているケースの方が多いようですが、PHPでやっている事例はあまり聞きません。 とりあえずPHPでもBDDできることは確認できたので、その方法をご紹介します。 ※実戦投入にはもうちょっと検証は必要かもしれません。 BDDとは?BDDとはビヘイビア駆動開発(Behavior Driven Development)でテスト駆動開発から派生したものです。 テスト駆動開発とドメイン駆動設計を統合したようなイメージになります。 対象における「振る舞い」や「制約条件」の検証のために、自然言語的な記述でテストコードを記述します。 スペックファーストで仕様を作ってから実装するという流れになります(コードを書く前に振る舞いを決める)。 ということで、以下ではPHPでBDDを行う方法について解説してい

                                    PHPでBDD(Behavior Driven Development)する方法
                                  • HomebrewでPHP環境 現時点でのまとめ - なんたらノート第三期ベータ

                                    MacでHomebrewを使ってPHPの開発環境を作るまとめです。 HomebrewはMacPortsより圧倒的にコンパクトなのがメリットです。MacPortsでPHPをインストールすると、/opt/localに、Apacheを含め、すごい量のパッケージをインストールされます。PHPのビルドにApacheのライブラリが必要で、さらに、Apacheのビルドには...という具合。これだと、容量あたりの単価がかかるSSD搭載のMac bookがかわいそうですね。HomebrewのPHPは、MacOSにApacheがあるのを知っているので、依存が浅くて軽いです。 MAMP.appがあるじゃないかという人はちょっと待った。あのパッケージ構造、httpd.confとphp.iniとmy.iniがどこにあるかすごくわかりにくいんですよね。そのうえ、使っている拡張の最新バージョン追従が個別にできないのは辛

                                      HomebrewでPHP環境 現時点でのまとめ - なんたらノート第三期ベータ
                                    • PHP開発でCIするならScrutinizer使ってみよう - Qiita

                                      Scrutinizerが凄い!! ScrutinizerというサービスがPHPの静的解析出来て凄いというスライドを読んで試しに使ってみたら思いの外すごかった。 公式サイトURL https://scrutinizer-ci.com/ スライドの記事 http://www.slideshare.net/hinakano/scrutinizer-ciphp オープンソースのリポジトリ(publicリポジトリ?)なら無料で利用出来るようです。 静的解析が優秀! Scrutinizerでは初期設定の段階で、php-sim、pdepend、php-analyzerツールが有効になっています。 これらツールの他に設定で、 PHP Code Sniffer PHP Change Tracking Analyzer PHP CS Fixer PHP Mess Detector Security Advis

                                        PHP開発でCIするならScrutinizer使ってみよう - Qiita
                                      • 和田卓人さん出題のテスト駆動開発問題『現在時刻とロケールに依存するテスト』をPHPを使ってオブジェクト指向で解答してみました #php #object_oriented|CodeIQ MAGAZINE

                                        テスト駆動開発の巨匠・和田卓人さんからの『現在時刻とロケールに依存するテスト』問題をPHPメンターズの後藤秀宣さんが解答してくださいました! この記事は、その後藤さんによる解答コードの公開と解説記事になります!! by CodeIQ運営事務局 PHPメンターズの後藤です。 和田卓人さん出題の『現在時刻とロケールに依存するテスト』問題をPHPを使ってオブジェクト指向のアプローチで解答してみました。 ※問題文については、和田卓人さんの解説記事を参照にしてください。 https://codeiq.jp/magazine/2013/11/1475/ 解答例は次の環境で作成しています。 PHP 5.5.4 PHPUnit 3.7 Composer サンプルコードのリポジトリをGitHubにて公開しています。コミットログなど合わせてご参照ください。(解説中にも各コミットへのリンクを貼ってあります) g

                                          和田卓人さん出題のテスト駆動開発問題『現在時刻とロケールに依存するテスト』をPHPを使ってオブジェクト指向で解答してみました #php #object_oriented|CodeIQ MAGAZINE
                                        • Zeal - Offline Documentation Browser

                                          Zeal is an offline documentation browser for software developers. Download for Windows Download for Linux Get Dash for macOS Version 0.7.1 Zeal comes with 189 awesome docsets! ActionScript Akka Angular AngularJS Ansible Apache HTTP Server Appcelerator Titanium AppleScript Arduino AWS JavaScript BackboneJS Bash Boost Bootstrap 2 Bootstrap 3 Bootstrap 4 Bootstrap 5 Bourbon C C++ CakePHP Cappuccino C

                                          • PHPでブラウザテストの自動化! Facebookの作ったツール「php-webdriver」で人生がときめく - Connehito開発者ブログ(サンプルコード付き)

                                            こんにちは、コネヒトでPHP書いたりしています金城(@o0h_)ともうします。烏龍茶が好きです。 (テスト自動化おじさんの弊社内におけるイメージ) 突然ですが! 皆さんも、自分の実装についていまいち自信が持てない時はございませぬか。 「あの実装・・頭をよぎる不安・・眠れない夜・・・・」そんな気分で毎日を過ごしていませんか? 「誰かに許して欲しい、安心をください」。 そんな時はテストを書きますよね。緑色が好きな人、この界隈には私だけではないはずです! ただ、どうしても検査しづらいな〜どうやって試せば良いかな〜と悩ましい時もあるのではないかと。 「エンドユーザーが直接触るのってブラウザでしょ、だったら実際にブラウザを使った操作が滞りなく可能なら問題ないよね・・」とか、考えたことありませんか? ここで闇堕ちしたプログラマは、ぽちぽちとhttp://localhostを開いたGoogle Chro

                                              PHPでブラウザテストの自動化! Facebookの作ったツール「php-webdriver」で人生がときめく - Connehito開発者ブログ(サンプルコード付き)
                                            • ユニットテストはなぜ必要なの?

                                              開発の全工程の中で、あまり人気がないのがテスト工程だ。ソフトウェアの品質を証明するためのテストは、なぜ低く見られてしまうのか(編集部) そもそもテストはなぜ実施するの? 皆さんはテストと聞いてどういったイメージをお持ちでしょうか。 「面倒くさい」「プログラマの仕事じゃない」「納期直前に徹夜でするもの」「そもそもしない」……。 残念ながら筆者の周りにいる開発者に聞いてみても、あまり人気のある工程とはいえないようです。 さて、本連載で扱うテストとは、もちろん学期末の終わりに実施するような人の知識、習熟度を試すテストではありません。ソフトウェア開発におけるテスト、つまり「ソフトウェアの品質を証明するためのテスト」のことです。自分たちが作り上げたソフトウェアに対して自らテストし品質を評価する工程、そして、テスト結果は常に100点である必要があるという半ば自己満足的な性質を持つ試験のことです。 しか

                                                ユニットテストはなぜ必要なの?
                                              • PHPで開発する最新スタートアップWEBサービスの裏側を公開します

                                                リリースしたばかりの最新WEBサービスの使用技術ついてご紹介したいと思います(最新ではありますが最先端技術ではありません)。 スカウトミー https://scoutme.biz ITエンジニア専門のスカウト転職サービスです。 求人票の掲載も人材紹介も一切なく、登録エンジニアは採用企業自らが直接送るスカウトメールをひたすら待ちます。 ※今は転職を考えていないという人も登録可能ですので、自分の価値を確かめる為にも是非! 開発チーム構成 エンジニア:1名 デザイナー:1名 ディレクター兼デザインアドバイザー:1名 開発期間 2017年2月にキックオフし、9月現在、スタート時の機能は一通り実装終えました。特に残業をしたり無理をするようなことはありませんでしたので、開発実期間は8ヶ月程度といったところです。 採用技術 典型的なLAMP nginx(画像サーバ兼リバースプロキシ) Apache +

                                                  PHPで開発する最新スタートアップWEBサービスの裏側を公開します
                                                • PhpStormを最高のSymfony2開発環境にする設定

                                                  PhpStorm で Symfony2 の開発するときにいつも設定していることをまとめました。たまに設定を初期化するとデフォルトから何を変更していたか分からなくなるので備忘録として。Symfony2 以外のプロジェクトもほとんど同じ設定で開発しているので Symfony2 を使っていない方も参考になると思います。 動作確認環境 Mac OS X El CapitanPhpStorm 2016.1PHP 5.4Symfony 2.3 目次 プロジェクトを作成する Symfony2 View を有効にする cache, log, vendor ディレクトリをプロジェクトから除外する vendor ディレクトリを Include path に追加する Symfony2 Plugin で入力補完を強化する Symfony2 の console コマンドを PhpStorm から実行する エディタの

                                                    PhpStormを最高のSymfony2開発環境にする設定
                                                  • JenkinsとDockerでTravisっぽいCIサーバを育ててみている - オープンソースこねこね

                                                    最近プライベートなプロジェクトのCIにはcircleciとかが人気なんでしょうかね。 GitHub 時代のデプロイ戦略 - naoyaのはてなダイアリー 近頃のCIサーバはアプリケーションのテストだけじゃなく、インフラのテストやデプロイ、ChatOpsなどgitやチャットツールなど他のシステムと連携した自動化のための必須プラットフォームといった感じになってきてる。とはいえ、趣味で開発しているプロダクトに余計なコストはかけたくない。ああ、でもやっぱCIはしたい。 そんなわけで以前から契約だけしていて放置気味だった、さくらのVPSの1GにjenkinsをたててオレオレCIを育てているのでその辺のことを書いてみる。CIの実行環境はDockerを使って仮想化し、ジョブの内容はTravisやcircleciのようにリポジトリ側のyamlファイルに記述できるようにしてみた。構成をざっくりと図解すると以

                                                      JenkinsとDockerでTravisっぽいCIサーバを育ててみている - オープンソースこねこね
                                                    • レガシーPHP改善日記 シーズン1 エピソード2 - komagataのブログ

                                                      hrysd心を折られるチンカスプログラマーことhrysdがバイトで来てくれることになったので一緒に大門に出社。 初出社前に既にバグを一個潰してコミットしているという荒業を見せたhrysdだが、3000行を超えるcontrollerに早くも心を折られる。 俺「actionのメソッドが5行を超えたら危険印、なんていうrailsのぬるま湯に使ってたんだよ!これがサバンナだ。」 Github Organization契約出社後早速、社長にGithub Organization Bronzeプランを契約してもらう。技術的なことはわからないというが、リスクを背負って立てなおそうという気持ちが伝わって来ました。 9月30日の直近の締め切りに間に合わないのでsvn + redmineからの移行は10月にお預けだ。 svnがよくわかってないまずはsvnでもトップにぶち撒けられてるというのは辛いのでtrunk

                                                      • Laravel実践入門! シンプルなREST APIを実装して学ぶ、多機能なPHPフレームワークの使い方|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                        これからLaravelを利用するのであれば、どのバージョンを使えばよいでしょうか? 現在(2020年9月時点)の状況であれば、6もしくは8のいずれかを選択することになります。どちらを選ぶかはアプリケーションの要件次第です。長期間安定したバージョンを利用したいのであれば6を、最新機能を利用していきたければ8を選ぶことになります。 この選択はさらに、セキュリティフィックス期限が切れた後にも影響します。例えば6を選択した場合、おそらく長期間利用することになるので、次にバージョンを上げる際は最新バージョンとの差異が大きくなり、アップグレードに手間がかかる可能性があります。 一方、8を選択して最新バージョンに適宜アップグレードしていけば、頻度は増えますが、都度の手間は小さくなります。ご自身やチームの開発状況や方針などを鑑みて、どちらを選ぶか検討してください。 なお、Laravelは6以降、セマンティ

                                                          Laravel実践入門! シンプルなREST APIを実装して学ぶ、多機能なPHPフレームワークの使い方|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                        • 文化祭入退場・混雑管理システム "CAPPUCCINO" 開発・運用記

                                                          この記事は、文化祭実行委員会に所属する[1]現高校 3 年生 3 人で文化祭の入退場混雑管理システム「CAPPUCCINO」を 2 年間に渡り開発し、実際に運用した記録を残したものです。 *この記事は以下の 3 名による共同執筆です 著者・開発者: すばる (@su8ru / Twitter:@su8ru_) 高校3年生。普段は TypeScript に使われながらウェブフロントエンド技術で遊んでいます。 たけ (@takeno_hito / Twitter:@Takeno_hito) こうこうさんねんせい。コーディングよりはゲームのほうが好きです。上下二人に揉まれながらも一応リーダーをやってました。 ふわわあ (@fuwa2003 / Twitter:@ibuki2003) 高3。Vimmer。半言い出しっぺなのに後半コード書いてないとかで最近は肩身が狭い思いをしています。 1. CAP

                                                            文化祭入退場・混雑管理システム "CAPPUCCINO" 開発・運用記
                                                          • PhpStorm から Vagrant VM の PHP アプリケーションをリモートデバッグする(Web & CLI)

                                                            Home > Laravel | PHP | PhpStorm | Vagrant > PhpStorm から Vagrant VM の PHP アプリケーションをリモートデバッグする(Web & CLI) PhpStorm から Vagrant で構築した VM の PHP アプリケーションをリモートデバッグする方法です。Web アプリケーションだけでなく、CLI アプリケーションでもリモートデバッグできるように設定していきます。 VM スペック 192.168.33.41 を private network で設定 PHP + Xdebug がインストール済み ホストと VM は、synced folder でディレクトリを共有(/path/to/src -> /share) 0. Xdebug によるリモートデバッグの仕組み リモートデバッグを設定する前に PhpStorm と Xd

                                                            • 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

                                                              • CakePHP2.0+Jenkinsで継続的インテグレーションを行う方法

                                                                みなさんこんにちは。@ryuzeeです。 CakePHP2.0になってテスティングフレームワークがSimpleTestからPHPUnitに変わったことで、以前に比べると大分簡単にはなっていますが、まとまった情報が少ないので整理しておきます。 事前準備JenkinsのインストールおよびCIサーバへのPHPのインストールは済ませておいてください。 CakePHP2.0でCIを行う場合は、以前のようにStagehand_TestRunnerを使ったりPhingを使う必要はありません(Phingは以前も使わない手もあった)が、PHPUnit、Xdebugのインストールは行なっておきます。 また今後利用するであろう、PMDやCPD等も導入しておくと良いでしょう。 なお、今回の作業はCentOS5.7上でPHP5.3.8を利用して行いました。 PHP関連のパッケージ導入 pecl install xd

                                                                  CakePHP2.0+Jenkinsで継続的インテグレーションを行う方法
                                                                • PHPでネイティブ関数を含むコードのテスタビリティを上げる2つの方法 - 絶品ゆどうふのタレ

                                                                  PHPでテストケースを作成する場合、ネイティブ関数を使っているようなコードに対してテストを実行しようとすると、どうしても環境に依存したり、実リソースにアクセスする必要が出てしまうことがあります。 この記事では、そのような問題に対する対処法を提示します。 経緯みたいなもの 先日もWeb APIをコールするPHPライブラリを書いていたのですが、HTTPをたたく部分のテストを切り離せず、もやもやしていました。 ちょっと前にPerlのTest::Timeというライブラリを教わって感動していたのですが、PHPでもネイティブ関数をオーバーライドできたらどんなにすばらしいだろう、などとぼやいていたのです。 そんなときに、@takimoにPHP 5.3ならオーバーライドできるよねって言われて、ハッと思い立ってテストに組み込む方法を考えてみたところ、割とスマートに実現できそうな方法が見つかったので、方法論の

                                                                    PHPでネイティブ関数を含むコードのテスタビリティを上げる2つの方法 - 絶品ゆどうふのタレ
                                                                  • コードやテストを保存したら自動でPHPUnitを実行しGrowlへ通知する環境 | Act as Professional

                                                                    TDDやってますか?テストを書いて、実行。コードを書いて、テストを実行。PHPUnitコマンドを1日に何度も叩いているPHPerに朗報です。コードとテストを修正して保存をすると、それを検知して、自動的にPHPUnitを走らせて、結果をGrowlで通知する環境をつくりました。これで、TDD Boot Camp in Tokyo #tddbcもテンポ良くすすめられますね。 gem watchr インストールPHPerには申し訳ないのですが、Rubyのgemを使います。 gem install watchr growlnotify インストールGrowlへの通知をするgrowlnotifyをインストールします。 Growlをダウンロードして、Extraディレクトリに含まれている、growlnotifyをインストールしてください。 環境をcloneする hirocaster/phpunit-sta

                                                                      コードやテストを保存したら自動でPHPUnitを実行しGrowlへ通知する環境 | Act as Professional
                                                                    • PhpStorm + Docker for Mac(docker-compose)での PHPUnit と Remote Debug の設定 - Shin x Blog

                                                                      PhpStorm から Docker for Mac の Docker コンテナ内で PhpUnit のテスト実行や Remote Debug を行うための設定です。 下記バージョンにて構築を行いました。 PhpStorm 2017.2.4 Docker for Mac 17.09.0-ce-mac35 PHP 7.1( php:7.1-apache ベース ) Xdebug 2.5 サンプルプロジェクトの取得 サンプルプロジェクトを用意したので、このプロジェクトをベースに設定を行います。このプロジェクトには、初期状態の Laravel アプリケーション(5.5)が含まれています。 github.com git で clone して、make を実行すると composer install と docker-compose up が実行されます。ブラウザで、 http://localhos

                                                                        PhpStorm + Docker for Mac(docker-compose)での PHPUnit と Remote Debug の設定 - Shin x Blog
                                                                      • 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
                                                                        • PHPUnitの使い方まとめ2016 - Qiita

                                                                          前置き 地味にこの記事が読まれ続けているみたいなのですが、内容がよい加減に古くて心苦しいので、もうちょっと現代的な内容にマイグレーションしたものを投稿しようと思います。当時と違ってQiitaにもよい記事増えているのに今更感あるのですが、あの記事に辿りついてしまった人のため……という感じで書いておきます。 大前提 PHPUnitを使ったからといって、どんなソースコードもテストできる訳ではありません。テストをし易いようにクラスを設計している必要があります。また、そのように設計していてもUnitテストに入れることの出来ない箇所は出てきます。Unitテストに入れることの出来ない箇所は出来ないと割り切らなければなりません。むしろ、どれだけのコードをUnitテストに入れることが出来るか? というのが設計者の腕の見せどころになるでしょう。極論を言うと 「どんなクラスでも疎結合に実装していなければならない

                                                                            PHPUnitの使い方まとめ2016 - Qiita
                                                                          • Travis CI上でPHPアプリのWebベースのテストを自動化する | Engine Yard Blog JP

                                                                            PHPなどのさまざまな言語のオープンソースプロジェクトのCI環境として利用されているTravis CIでWebベースのテストを実行してみました。 通常は純粋なコードベースのユニットテストを実行する事が多いかと思いますが、CMSやEコマースエンジンなどオープンソースで配布し、インストールして使うようなソフトウェアではWebブラウザベースでの機能テストを自動化したいというニーズがあるでしょう。Travis CIにはfirefoxがインストールされておりブラウザベースのテストが出来る事は知っていたのですが、今回年末年始の宿題的にテストを実行する為の設定をひと通り行ってみました。 説明を抜きにして動作が見たい方はGitHubとTravis CIへどうぞ yandod/candycane https://github.com/yandod/candycane candycane on Trav

                                                                              Travis CI上でPHPアプリのWebベースのテストを自動化する | Engine Yard Blog JP
                                                                            • Xdebugを導入してみる - JavaのStackTraceが欲しい! - Do You PHP?

                                                                              [2005/12/31]Xdebug2.0.0beta5がリリースされています。PECLのページからどうぞ。 PHPでちょっとした規模の開発を行っていると当然ユーザー定義関数やクラスが増えてきて、だんだんでバッグがしにくくなります。構文エラーとかは問題ないのですが、例えば何らかのDBアクセスクラスを使ってSQL文を実行してエラーが発生したとき、PHPが表示してくれるエラー発生行番号はあくまでDBアクセスクラスの行番号になってしまいます。また、条件によってSQLを組み変える場合など、最終的にどの様なSQLを実行したのか <?php echo $sql; ?> などとして表示させないと分からなかったりします。 PHP4.3.xならdebug_backtraceとtrigger_errorで実装できるだろうということは分かっているのですが、PHP本体でどうにかならないかなぁ。。。と思って調べてみ

                                                                              • 待って!そのデプロイ本当に大丈夫?✋ - きりだるまの記録帳

                                                                                全国100万人のエンジニアの皆さんこんにちは、デプロイしてますか? この記事は、本番環境でやらかしちゃった人 Advent Calendar 2019の5日目の記事です 予想以上にこのアドベントカレンダーが注目されてて、書きながら「これ炎上しないよね…」「なんかマズイこと書いてないよな…」と胃が痛くなってます 自分みたいなザコメンタルにはつらい…めっちゃやむ… この記事はただの不注意が原因のやらかし話です 過度な期待はしないで下さい 追記 さすが3000人以上に購読されてるアドベントカレンダー、アクセス数がすごいことになってますね…怖い… いくつかコメントや言及を頂いたので、追記というのをしておきます テスト環境ないの? あります タスクAに関してはテスト環境での動作チェックが不十分だった タスクCに関しては焦ってて動作確認せずに出しちゃった(「まぁこれくらいの変更なら大丈夫でしょ」という

                                                                                  待って!そのデプロイ本当に大丈夫?✋ - きりだるまの記録帳
                                                                                • [PHP]安定したシステム運用を目指して取り組んだこと - Qiita

                                                                                  はじめに PHP7へのverupをきっかけに 安定したシステム運用 保守しやすいコード を目指し、少しずつ色々なことを試みています。 この記事では、私が行なっているコード改善の取り組みを共有したいと思います。 一般的なものしか書いていないかもしれませんが。。。 スタイルガイドを守れているかphpcsを使ってチェックする 私が参加しているプロジェクトにはpearベースのスタイルガイドがあるにはあったのですが、 出来上がったコードを機械的にチェックする仕組みがありませんでした。 PHP7へのマイグレーションを契機に、コードがスタイルガイドに沿って書かれているかPHP_CodeSnifferを使って機械的にチェックするようにしました。 このツールは有名ですので説明は不要かもしれませんが簡単に説明すると、 phpcs : 定義したスタイルガイドに違反していないかチェックする phpcbf : コー

                                                                                    [PHP]安定したシステム運用を目指して取り組んだこと - Qiita