Java

【Java】Mockitoで依存性注入を使わずにユニットテストする

デバイスソフトウエア開発部の本間です。

最近、弊社業務にて Android アプリの保守を担当する機会がありました。そのアプリには自動テストが存在しなかったため、安全に改修を進めるための回帰テストとして、まずユニットテスト(JUnit)を導入しました。

しかしテストを書き始めると、クラス同士が直接依存していたり、I/O などの副作用が各所に埋め込まれており、既存コードに変更を加えなければユニットテストが難しいことが分かりました。そこで、モッキングフレームワークである Mockito を導入することにしました。これにより依存先を任意の処理(モック)へ差し替えることが可能となり、ユニットテストを実施することができました。

本記事では、その際に使った Mockito の機能を、実例を交えてご紹介します。

続きを読む

なぜSpring BootはDI(依存性の注入)を使うのか?

SpringBoot

SJC共同開発推進室の(ちょう)です。

Spring Bootを使い始めた際、@Autowiredと書くだけでインスタンスが自動で使えるようになることに、戸惑いと同時に「魔法みたいだ」と感じた方も多いのではないでしょうか。

この「魔法」の正体こそ、Springフレームワークの根幹をなすDI(依存性の注入)です。

本記事では、DIが「なぜ必要なのか」を理解するために、設計の基本である密結合疎結合から掘り下げます。その上で、SpringのDIコンテナが具体的にどのような仕組みで Bean を生成し、@Autowired に応えて注入しているのかを、ステップバイステップで徹底的に解説します。

DIを深く理解することは、テストしやすく、変更に強いコードを書くための大きな一歩です。ぜひ最後までお付き合いください!

続きを読む

新人エンジニアが実感したSpring Bootの魅力とServletとの比較

こんにちは!SJC共同開発推進室の中谷です!

今年4月に入社し、最初の3か月間は社外研修でJavaを使ったWeb開発の基礎を学びました。
研修ではServletを中心に学習しましたが、現場復帰後はSpring Bootを使ったWebアプリ開発に取り組んでいます。

最初は戸惑いもありましたが、使っていくうちに「これは便利だな」と感じる場面が増えてきました。

この記事では、私が体験したSpring Bootの便利なところを研修時代に触ったServletと比較しながら紹介していきます。これからSpring Bootに触れる方や、私と同じような境遇の方にとって、少しでも参考になれば嬉しいです!

続きを読む