ミューテーションテストの技法でテストの十分性を評価する
これは豆蔵デベロッパーサイトアドベントカレンダー2024第3日目の記事です。 以前の記事でミューテーションテストについて軽く紹介しましたが、具体的な手法については紹介できていませんでした。そこで今回は以前の記事で利用してきた「よくあるサンプルアプリ」を題材にして[1]Javaの開発プロジェクトにミューテーションテストを組み込んでみます...
記事を読むEasyMockの基本的な使い方の備忘録
内製化支援などの案件で実装初心者の方にレクチャすることがあるのですが、テストの実装は皆さん躓きやすい部分です。単体テストでもモックオブジェクトを使ったりしてなおさら難しい。それらに関しては外部のライブラリなのでJavaの講座でもやらなかったりします。 というわけでそのようなライブラリの中でも以前の案件でよく使われていたEasyMockについて、大体カバーできるかなという使い方をおさらいしようと思います...
記事を読むWSL上のPlaywrightの実行ブラウザを画面表示するときにハマったこと
はじめに # Windows10でWSL2上にインストールされたPlaywrightの実行ブラウザを画面に表示(ヘッドレスモードオフ)しようとした際、最初上手くいかなかったので原因とその対処した内容をまとめます...
記事を読むLambdaでPlaywrightを動かす(Lambdaレイヤー / コンテナ)
今クロスブラウザテストでよく使われるツールといえばPlaywrightですね。 テストでなくとも単純にブラウザ自動化ツールやスクレイピングツールとして使っている現場も多いかと思います。 とある事情で、Lambda上でPlaywrightを動かしてみましたが、予想以上に苦戦したので備忘録も兼ねて手順をまとめます。 Lambdaレイヤーを使う # これが一番簡単な方法です。 Playwright等のツールはそれ単体では動作せず、Chromium等のブラウザをインストールしなければなりません...
記事を読むNuxt3 - 単体テスト後編 - モック・スタブ用のユーティリティを使う
前回はNuxt3の単体テスト方法として以下の内容を見てきました。 Nuxtのテストユーティリティ(@nuxt/test-utils)をセットアップする テスト用のNuxt環境上でNuxtコンポーネントをマウントしてテストを書く 後半となる今回は、テストユーティリティが提供するモック・スタブに関する機能について見てみたいと思います。 --> InformationここではVitest自体のモック機能について詳細は触れません。 少し昔のものですが、以下の記事でVitestの概要をご紹介してます...
記事を読むNuxt3 - 単体テスト前編 - セットアップ・コンポーネントをマウントする
Nuxt3がリリースされて結構時間が経ちました。その間にも様々な改良が施されて今では成熟したフレームワークになったと言えるかと思います。 ただ、リリースしてしばらくの間はテストに関するドキュメントはほとんどなく手探りの状態でした。それから時が流れ、ふと公式ドキュメントを見ると、現在はテストユーティリティやドキュメントが充実してきました。 ということで、複数回に分けてNuxt3のテストを整理してみたいと思います...
記事を読む全銀システム障害に片想いしてみる
この記事は豆蔵デベロッパーサイトアドベントカレンダー2023第5日目の記事です。 前回投稿からだいぶ時間が空いてしまいましたが、皆様お元気でしょうか。気付けば年の瀬に差し掛かってしまいました。流行りモノは押さえておく性分の筆者は、今年はシッカリとコロナもインフルエンザもカバーしました。幸いなことに5類移行後のタイミングでしたので病院探しに奔走することもなく無事に回復しています。医師の診断を受けて対策できることの安心感は半端ないですね...
記事を読むGoogle Test を使ってみる(その5:GoogleMock編)
前回は Google Test の実行をサポートするVSCode拡張機能「GoogleTest Adapter」の設定や使い方を紹介しました。 今回は Google Test を使う際によく使われるモック・フレームワーク「Google Mock」の簡単な使い方を紹介したいと思います。 Google Mock とは # Google Mock は「Google C++ Mocking Framework」の略称です...
記事を読むStep CI をアプリケーション開発に適用してみた流れを紹介
はじめに # 小規模なアプリケーションを開発する機会があったので、以前、ココで紹介したStep CIを実際に適用してみたので、一例としてその流れを紹介します。 ※アプリケーションのスペックやコードはイメージを付けて頂きやすいように本書用に書き起こしたもので実際のものとは異なります。 アプリケーションスペック # 今回、適用したアプリケーションの概要は以下の通りです...
記事を読むJava用モック・フレームワーク「Mockito」を使ってみる(その3:テストケースをまとめる編)
前回は「Mockito」でvoid型メソッドをモック化する方法について解説しました。 今回は「複数のテストケースを1つのテストケースにまとめる」方法について解説したいと思います。 テストケース数が多くなりすぎた時 # これまで使用してきたサンプルプログラム「FooController」と「BarSensor」の仕様を再度確認します。 「BarSensor」の仕様: 対象物との距離を測定する「scan」メソッドを持つ。戻り値はInt型...
記事を読む