Java用モック・フレームワーク「Mockito」を使ってみる(その2:void型メソッドのモック編)
前回は「Mockito」の基本的な使い方を解説しました。 今回は「void型メソッド」をモック化する方法を解説したいと思います。 「whenメソッド」と「doメソッド」 # void型メソッドのモック化について解説する前に、モックの動作定義について再度説明したいと思います。 前回はモックの動作を定義するとき「whenメソッド(when/thenReturn)」を使用しました...
記事を読むJava用モック・フレームワーク「Mockito」を使ってみる(その1:基本編)
「Mockito」とは # Mockito は、Java でユニットテストを行う際に使用されるモック・フレームワーク(mocking framework)です。 Mockito を使用すると、実際のオブジェクトの代わりに「モック(仮の実装)」を作成し、テストケース内で特定の振る舞いを模倣できます。 外部依存の他のクラスが完成していない状態でも、独立してテストを実行することができます。 Mockito は、テスト駆動開発(TDD)と相性が良く、コードの品質を向上させるのに役立つツールです...
記事を読むミュータブル・イミュータブルって何のこと?
この記事は夏のリレー連載2023の14日目の記事です。 はじめに # 日頃、Javaの初心者からベテランまで様々なスキルレベルの方から質問を頂く立場で仕事しておりますが、Java言語を使用するうえで基本事項でありながらも、あまり理解されていない事柄があると感じています。これらの事柄については改めて誰かに質問できず、「そういうもの」として無理やり納得しやり過ごしている方がいるのではないでしょうか...
記事を読むプログラミング未経験者がJava Gold取得してきました
この記事は夏のリレー連載2023の13日目の記事です。 はじめに # 4月から新卒で入社しました塚野です。入社前はアフリカツメガエルという手のひら大のカエルから毎日卵を絞りだしては、それを実験材料に顔や目、鼻などを作る遺伝子の研究をしていました。 そのためプログラミング未経験での入社で、7月末までは新人研修として基本的なITの知識と、Java、JDBC、JSP・サーブレットに関する講習を受けていました。 8月からは社内プロジェクトに配属となり、日々謎の呪文たちと戦っています...
記事を読むRefactorFirstで倒すべき神クラスを探せ!
この記事は夏のリレー連載2023初日の記事です。 大きなクラスや複雑なクラスを見つけるとリファクタリングしたくなりますよね。ただ、そんなリファクタリングしたくなるようなイケてないクラスがいくつもあった場合、みなさんはどのように優先度付けしますか?そんな時に費用対効果の面からリファクタンリグすべきクラスを抽出し優先度付けを行ってくれるRefactorFirstを今回は紹介します...
記事を読むGitHub CodespacesによるJavaのチーム開発環境の作り方
GitHub CodespacesでJavaのチーム開発環境を整備してみたところ、想像の斜め上を行く便利さでした。このデベロッパーサイトでもCodespacesを何回か紹介してきましたが、今回は複数人で使う開発環境としてCodespacesを使うとどのような点がよいのか、そしてそれをどうセットアップするかなど、個人でなく複数人で使う場合の側面からCodespacesを紹介したいと思います...
記事を読む1日50円で使えるマイクロサービスなアプリを動かすAWS環境を作ってみた
今回は「MicroProfileのサンプルリニューアル – 今度はほんとにMSA」の番外編として記事で紹介したMSAなサンプルアプリを動作させるために構築した1日50円で運用可能なケチケチAWS環境を紹介したいと思います。実業務の本番環境としてはハッキリ言って使い物にならない部分も多いですが、ケチってもこのくらい出来るのネ程度に生暖かく読んでもらえればと嬉しいです。なお、今回はわけあってAWSの個人アカウントを使って環境を構築しています(理由は記事の最後に)...
記事を読むMicroProfileのサンプルリニューアル – 今度はほんとにMSA
MicroProfileを使ったサンプルアプリとして「使った、作った、Helidonで! - サンプルアプリの紹介」記事で紹介したレンタル品予約システムはマイクロサービスアーキテクチャ(MSA)向けフレームワークであるMicroProfileを使ったサンプルアプリとして紹介していましたが、そのアーキテクチャは実はモノリス(良くいってモジュラーモノリス)でした...
記事を読む今さら聞けないMaven – 実行オプションの固定化
Mavenでは多数の条件をmvnコマンドのオプションで指定することが多いですが、指定するオプションにはプロジェクトや環境が同じであればに常に同じとなるオプションがあるため、オプションを固定化したい場合があったりします。また 「ローカルリポジトリの分割」で紹介したような長いオプションを都度指定するのが面倒だったりもします...
記事を読む今さら聞けないMaven – 3.9.0で追加されたローカルリポジトリの分割
これまで久しく大きな機能追加が行われてこなかったMavenですが、2023年1月31日にリリースされたMaven 3.9.0でコレは!と思うローカルリポジトリの分割機能が追加されました。今回はこのローカルリポジトリの分割機能を紹介します。 なお、3.9.0ではJava8が必須になるなど他に多数の改善や変更が加えられています。他の変更詳細についてはリリースノートを参照ください...
記事を読む