at "PHPバージョンアップ kickoff" 2021/07/15 https://breaktimes.connpass.com/event/218221/
<? include("abc.php"); include("def.php"); include("conf.php"); include("db.php"); include("some.php"); include("what.php"); Define("NUM", 100); class super_calc extends great_calc { /* * * * コンストラクタ * * * * */ public function super_calc($initial_num){ $this->db = DB::getDb(DSN); $this->initial_num = $initial_num; } /* * * * チェック * * * * */ public add_ok($add_num){ $res = $this->addable($add_num);
BASE株式会社 Product Dev Division ソフトウェアエンジニアの田中(@tenkoma)です。主にPHPアプリ開発を担当しています。 BASEでは、PHPアプリ開発で使うエディタに制限はありませんが、希望する人はPhpStormを使えます。 PhpStormは設定を全くしなくてもかなり快適に使えると思いますが、多少設定するとより快適になります。 この記事では主に、開発環境とIDEを連携させアプリケーション開発をスムーズに始めるため、以下の設定について紹介します。 Xdebugと連携してリモートデバッグを可能にする PHPUnitと連携してテストをIDEから実行可能にする PHP_CodeSnifferを使ってコーディングスタイルを適用する EditorConfigを追加してコーディングスタイルを開発者で共有可能にする Xdebugと連携してリモートデバッグを可能にする
この記事について 自分の所属するチームに、自動テストを書いたことがないメンバーが加わったとき、ガイドラインとなるようなドキュメントがほしいなと思っていたので、書きました。どうせなら他のチームでも使いたいので、ドメインはぼかして汎用的になるようにして公開します。独自のベストプラクティス的なものですが、これまでのチームではわりとどこもこれに近くうまくいっていたので、汎用的に使えるんじゃないかと想像します。 はじめに 環境 Laravel: 5.8 以上 PHP: 7.0 以上 PHPUnit: 7.0 以上 いちおうバージョンは書きましたが、あまり関係はないです。 基本方針 基本方針は、自分の経験上これがいちばんコストパフォーマンスがいいと思っているガイドラインですが、自分はベンチャーやスタートアップ企業で、スピード重視の文化に身を置くことが多いため、テストは最低限にして、素早くリリースするの
オープンソースのスクリプト言語 PHPを沖縄で普及するために開催された「PHPカンファレンス沖縄2021」。nunulk氏は、Laravelでのテスト駆動開発について発表しました。 テスト駆動開発の目的は「自信を伴うコードを書く」こと nunulk氏(以下、nunulk):「Laravelでテスト駆動開発を行う際の守破離と序破急」というタイトルでお話しします。PHPカンファレンス沖縄は前回も参加して、自分としては沖縄大好き芸人枠で参加が義務で、今回はあまりネタが思い浮かばなかったんですが、がんばってスライド作りました。 今は沖縄で仕事もいただいていて、Alpaca.Labという会社で「AIRCLE」という運転代行のサービスのバックエンドを担当しています。沖縄は車がないとけっこう不便なので、沖縄にお越しの際はぜひレンタカーを借りて、この「AIRCLE」使ってみてください。 それから、もう1つ
はじめに PHPUnit 6 にするきっかけ 地道な修正作業 クラスの namespace mt_rand と mt_srand グローバル変数の扱い non-numeric test phpunit6 ochiru アサーションをしていないテスト PHPUnit 6 にしてよかったこと そして時代は はじめに この記事は PHP Advent Calendar 2019 - Qiita 4日目の記事です。 昨日の記事は tzmfreedom さんの PHPでPHPを実装する というすごいタイトルの記事でした。 去年のPHPアドベントカレンダーで PHP 5.6 から PHP 7.2 にする話を書きました。 www.utakata.work この記事がめちゃめちゃ好評で、今でもたまに見られています。PHP 5.6 のサポートはとっくに終わったはずなのですが... ということで今回は PHP
初めまして、弁護士ドットコムでエンジニアをやっている @namizatork です。 第1回目で @komtaki さんが書いた 「弁護士ドットコムサービスのビジネスと共にみるマイクロサービスの進化」 がプチバズりしていたので第2回目となる今回、少し 滑らないか 心配ですが頑張って書きます。 本記事では、サービス開始から10年以上が経過したサービスのユニットテストを改善したという内容をお話しします。 ユニットテスト改善チームの立ち上げ 改善前に必要なことを明確化 キックオフ ユニットテストを並列実行する GitLab parallel 時間の掛かっているユニットテストを特定する 実行方法 テストが遅い原因を特定&解決 (1) 多くのループ処理やスリープ処理を利用している (2) 誤ったsetUpやtearDownの使い方をしている (3) DBに依存しており、アクセスに時間が掛かっている
Laravel Advent Calendar 2021 17日目の記事です。 僕自身が書いた経験のある範囲でPHPUnitでテストコードを書くときのTipsやサンプルコードをまとめます。 はじめに いきなりタイトルには直接関係ない小ネタを挟みます。 テスト関連のコマンド テストファイル作成 # tests/Featureに作成される php artisan meke:test SampleTest # tests/Unitに作成される php artisan make:test SampleTest --unit # ディレクトリを指定してファイル作成 # tests/Feature/User配下 php artisan make:test User/SampleTest # tests/Unit/User配下 php artisan make:test User/SampleTest
こんにちは、株式会社ウイングドアの田上です。 弊社では開発業務にGitHubを使っています。 折角GitHubを使っているので、 GitHub Actionsを使ってCI(継続的インテグレーション)を実施したいなと思い、やってみました💪 今回は弊社で多いLaravel案件でも使えるように、 表題の通りGitHub Actions + LaravelでのCIを構築してみます。 GitHub Actionsとは プッシュ、Issue、リリースなどのGitHubプラットフォームのイベントをトリガーとしてワークフローを起動しましょう。コミュニティが開発・保守し、ユーザが熟知・愛用しているサービスについて、対応するアクションを組み合わせて設定できます。 引用元:Actions | GitHub はじめかた GitHubにLaravelのリモートリポジトリを作成して、Actionsをクリックします。
PHPUnit 10 February 3, 2023 The PHPUnit development team is pleased to announce the immediate availability of PHPUnit 10. This release adds new features, modifies and removes existing functionality, and fixes bugs. PHPUnit 10 was scheduled to be released on February 5, 2021. Due to various reasons, including a pandemic, this was simply not possible. This does not mean that nothing has been achieve
PHPUnit もバージョン 9 になりました。長年第一線で活躍し私達PHPerにテスト可能な開発環境を提供し続けてくれているPHPUnitは、その分歴史が長く、バージョンごとに これまでの使い方は deprecated になっていきます。 PHPUnit 9 では、さまざまな機能削除や非推奨勧告がありますが、その一つが表題にある MockBuilder::setMethods の deprecated です。 そこで改めてこの変更を機に、次の点を抑えていきます。 - PHPUnitのTestDoubleの語彙整理の根拠 xUTP本とその該当箇所、createStub / createMockの違い - setMethodsからaddMethods/onlyMethodsになった使い方 - deprecatedになった理由をissueの内容から抑えて背景思想を理解する - PHPUnit
アサーションメソッドはstaticで使うべきか、それとも非staticで使うべきか PHPUnit のアサーションの実装は、 PHPUnit\Framework\Assert およびそれを継承した PHPUnit\Framework\TestCase にあります。 アサーションメソッドは static 宣言されていて、あらゆるコンテキストから PHPUnit\Framework\Assert::assertTrue() などのように使えます。 また、 PHPUnit\Framework\TestCase を継承したクラスの中では $this->assertTrue() や self::assertTrue() などとしても使えます。 さらに assertTrue() のような形でグローバルなラッパー関数として使うことさえできてしまいます。 PHPUnit を使い始めたばかりの開発者の多くは
Updated on 2019–06–23. PHPUnit Code Coverage Analysis is often used with xdebug as the coverage data source. But it has one major drawback: it can become very slow. As a reference, here are my results of running the test suites of three sample projects: As you can see, activating the code coverage analysis multiplies the time needed to run the test suites. Those are just examples of course, and de
PHP + phpunit + php-webdriver + docker-selenium でブラウザテスト ①環境構築PHPPHPUnitphp-webdriverdocker-selenium 目次 PHP + phpunit + php-webdriver + docker-selenium でブラウザテスト ①環境構築 PHP + phpunit + php-webdriver + docker-selenium でブラウザテスト ②テスト実行、エラー対策 概要 seleniumに自動でブラウザテストをしてもらって楽したい。 どうせならDockerで環境構築したい。 これを実現するために調べてわかったこと、詰まっていることをまとめました。 注意 phpunit/phpunit-seleniumというライブラリでもブラウザテストを実行できるようですが、やり方がわからなかったため深
初級者・中級者向けのユニットテストのサンプルは、 どんな言語を対象としたものであっても、 テストしやすいようなロジックに対してシンプルなテストをしているものばかりです。 データベースを扱う一般的なアプリケーションを考えると、これはまったく現実離れしています。 たとえば WordPress や TYPO3、あるいは Symfony で Doctrine や Propel などを使い始めるとすぐに、 PHPUnit でのテストがやりづらいことを実感するはずです。 データベースとこれらのライブラリが密結合になっているからです。 Note PHP の pdo 拡張モジュール、そしてデータベースごとの拡張モジュール (pdo_mysql など) がインストールされていることを確認しておきましょう。 これらがインストールされていないと、以下のサンプルは動きません。 きっと日々の業務やプロジェクトでも身
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く