CypressでE2Eテストを自動化(5)laracasts/cypressでLaravelプロジェクトをテストNEW!
ここまで4回の投稿でCypressテストの設定・テストコードなどをご紹介してきました。5回目の今回は、laracasts/cypressというLaravelでCypressを使用するために作成されたパッケージをご紹介します。Laravel10.xのプロジェクトにインストールして使ってみました。
ここまで4回の投稿でCypressテストの設定・テストコードなどをご紹介してきました。5回目の今回は、laracasts/cypressというLaravelでCypressを使用するために作成されたパッケージをご紹介します。Laravel10.xのプロジェクトにインストールして使ってみました。
ウェブソケットと同様にリアルタイム(まがい)で画面の一部を更新する方法に、ポーリングがあります。ウェブソケットではサーバーから更新情報をブラウザ(クライアント)へプッシュするのに対して、ポーリングは逆にブラウザからサーバーに情報を一定の時間で取得(ポーリング)しに行きます。それゆえに、PusherやReverbのようなウェブソケットサーバーは必要でなく簡単なセットアップとなります。このポーリングをとても人気があるLivewireを使用してプログラムしてみます。
前回に紹介したLaravel Zeroはとても有用そうです。しかし、データベースの操作を行うことができなければですね。ということで、今回はその機能を追加します。さらに、もちろん私の好きなtinkerも使えるようにします。
今でも覚えています。Laravelを使い始めた時にとても気に入ったのがartisanコマンドであったことを。その当時の他のPHPフレームワークと異なり、Laravelでは最初からコマンドの開発がMVCのUIの開発と肩を並べて上級扱いされていました。Unix系のコマンドに慣れている私には感激でした。しかし、コマンドだけの開発しか必要ないときがあります。つまりブラウザの画面を必要としない開発です。そのようなときにLaravelをインストールすると、ウェブのためのコントローラなどが一緒についてくるので煩わしく思えます。そこで登場するのが、Laravel Zeroです。
以前にリファクタリングを自動化できるツール、Rectorを紹介しました。前回の記事ではRector側で用意された変換ルールに則ってリファクタする方法をお伝えしました。しかし、Rectorの真骨頂はむしろ自分で変換ルールを作成して各々の環境に合わせて自由にカスタマイズ出来る点にあります。直近の実務でそちらに触れる機会がありましたのでご紹介致します。
長年管理しているお客さんのプロジェクトのユニットテスの数が増えてきました。Featureテストも含めてテストケースの数は2,400以上あります。私の古めのWindowsのマシン(i7-9700CPU @ 3.00GHz)のWSL2環境では、7分51秒かかります。今回はこのテスト実行所有時間をほぼ1/10の50秒以下に縮めた話です。
円安の世の中AWSのドル支払は痛いです。最近お客さんのためにコスト削減できないかと調査したところなんと1ヶ月に1,400ドル以上もコストを下げる結果となりました。年間にしたら16,800ドルの節約です!
流行し始めた当初は何て事ない個人の呟きが主流だったのが、あれよあれよと著名人が使い出し、いつの間にか近代SNSの代名詞へと変貌を遂げたTwitterもといXですが、実はこのララジャパンもアカウントを持っていて時折最新記事が投稿されたらお知らせをツイートしています。しかし、何分手動で行なっているのでついつい忘れてしまいサボり気味です。(ごめんなさい!)何とか改善しなければ、と思いX APIを活用して自動ツイートが出来ないか試してみる事にしました。
以前、Laravel Excelというpackageを使用してExcelやCSVにデータを出力する方法について解説しました。Laravel Excelはinterfaceが充実しており、それに則ってコードを書くと体系的かつ統一的に少ない記述量で実装できるので気に入っていました。しかし、大きなデータを扱う際などはなぜか消費メモリが徐々に増えていく為(今は改善されているかもしれませんが)、
さあ大変です。PHP 8.2において動的プロパティが廃止(Deprecated)となりました。PHP 9.0ではErrorExceptionが投げられるようです。動的プロパティをたくさん使っているLaravelのプログラムは大丈夫なのでしょうか?