単体テスト、リフレクション、アノテーション、動的プロキシ

一、単体テスト 1.1 単体テストのクイックスタート 単体テストとは、最小の機能単位に対してテストコードを記述し、正しさを検証することです。 これまではどのようにテストしていましたか?例えば、学生管理システムを作り、学生の追加、変更、削除、検索などの機能をテストするには、mainメソッド内でコードを書いていました。 しかしmainメソッドでのテストには以下の ...

8月8日 08:01 投稿

Javaのテスト、リフレクション、アノテーション技術

JUnitユニットテスト ユニットテストには2つの種類があります: ブラックボックステスト:コードを書かずに入力値のみを与えて、出力が期待値に合致するか確認する方法 ホワイトボックステスト:コードを書いて、具体的な実行フローに注目する方法 JUnitはホワイトボックステストに使用されます。 JUnitの使用手順 テストクラスの定義 推奨命名法:テスト対象のクラス ...

7月12日 23:12 投稿

Javaにおけるリフレクションとアノテーションの活用

リフレクションの基礎 クラス情報の取得には主に以下の3つの手法がある。 public class ReflectionTest { public void setup() { // テスト前処理 } public void demonstrateClassRetrieval() throws ClassNotFoundException { // 文字列からクラス情報を取得 - 設定ファイル読み込みに適す Class<?> clazz1 = Class.forName(& ...

7月1日 16:15 投稿

JenkinsとCoberturaを使用したMavenプロジェクトのコードカバレッジ計測

サンプルアプリケーションの作成 まず、Mavenプロジェクトを作成し、メインのロジッククラスを作成します。ここでは、シンプルな条件分岐を含む計算処理を実装した MathUtility クラスを src/main/java 配下に定義します。 package com.example.calc; public class MathUtility { public MathUtility() { } /** * 基礎値とボーナス値を計算するメソッ ...

6月25日 17:42 投稿

SpringBootでの単体テスト実行エラー:maven-surefire-pluginのバージョン問題

問題現象 Spring Bootプロジェクトで単体テストを作成する際に、JUnit 4.13.2以上のバージョンを使用しています。 Mavenが単体テストを自動実行するために、Maven SurefireまたはMaven Failsafeプラグインの導入が必要です。 プロジェクトで使用しているmaven-surefire-pluginのバージョンは2.22.2で、mvn clean packageコマンドでのパッケージング時、単体テストが実行 ...

6月23日 20:00 投稿

Spring Bootテストにおける「java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration」の解決策

問題の概要 Spring Cloudプロジェクトで@SpringBootTestアノテーションを使用して単体テストを実行すると、以下のエラーが発生することがあります。 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test 原因の分析 @SpringBootTestアノテーションは、テ ...

6月21日 22:02 投稿

Javaにおけるユニットテスト、XML、アノテーションの基礎

ユニットテスト ユニットテストは、ソフトウェアの最小機能単位に対してテストコードを記述する手法です。Javaでは最小機能単位はメソッドであるため、ユニットテストはJavaメソッドの正確性を検証するために使用されます。 従来の問題点: mainメソッド内でのテストは、一つのメソッドが失敗すると他のメソッドのテストに影響を及ぼします。 JUnitの利点: テストメソッド ...

6月20日 00:33 投稿

Javaクラスの初期化順序

継承なしの場合: 1. 実行順序 静的メンバ変数 静的コードブロック 通常のメンバ変数 通常のコードブロック コンストラクタ 2. 要約: 静的 -> 通常 変数 -> コードブロック -> コンストラクタ コンストラクタは最後に実行される 3. サンプルコード: public class Parent { private static String name = "zct" ...

6月19日 16:12 投稿

ユニットテストの実践ガイド

ユニットテストはコード内の最小テスト可能単位(通常は関数やメソッド)が期待通りに動作することを検証します。システムの他の部分から独立し、特定の機能に焦点を当てる必要があります。 優れたユニットテストはコード品質と保守性を確保し、問題の迅速な特定やリファクタリング時の安全性を提供します。以下に効果的な実践方法を示します。 テスト設計の原則 可読 ...

6月16日 17:44 投稿

JUnitによるJavaユニットテストの実践

JUnitテストフレームワークの概要 JUnitはJavaアプリケーションのユニットテストを効率的に行うためのフレームワークです。このツールにより、開発者はコードの正確性を検証しながら品質を保つことができます。 ユニットテストの重要性 ユニットテストはソフトウェアの最小実行単位(通常はメソッド)を検証する手法です。JUnitはアノテーションとアサーションメソッドを ...

5月27日 10:58 投稿