質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Javadoc

Javadocは、Java言語で記述されたクラスライブラリ、及びアプリケーションについてのパッケージ・クラス・メソッドのHTML形式のAPI仕様書のことを指します。ドキュメント更新の漏れを減らすことができ、最新の状態を把握することが可能になります。

JUnit

JUnitは、Javaで開発されたプログラムのユニットテストを行うためのアプリケーションフレームワークです。簡単にプログラムのユニットテストを自動化することができ、結果もわかりやすく表示されるため効率的に開発時間を短縮できます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

889閲覧

JavaのJUnitテストで引数がない場合のテストコードの作り方

asuka.Mir

総合スコア15

Javadoc

Javadocは、Java言語で記述されたクラスライブラリ、及びアプリケーションについてのパッケージ・クラス・メソッドのHTML形式のAPI仕様書のことを指します。ドキュメント更新の漏れを減らすことができ、最新の状態を把握することが可能になります。

JUnit

JUnitは、Javaで開発されたプログラムのユニットテストを行うためのアプリケーションフレームワークです。簡単にプログラムのユニットテストを自動化することができ、結果もわかりやすく表示されるため効率的に開発時間を短縮できます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2023/01/17 13:32

実現したいこと

JUnitテストをするためのテストコードを作成する勉強をしています。
ネットで検索すると引数がある場合のテスト(足し算関数とか)は色々でてくるのですが、引数がない場合のテストコードの作り方が分かりません。。
例えば、以下のようなソースがあったとして、どのようにテストコードを作成すればよいのでしょうか。
お手数をおかけしますが、ご教示お願い致します。

ソースコード(例:指定されたパスにあるJSONファイルを読み込み、その内容をJSON形式で標準出力するコード)

import java.io.File;
import java.io.IOException;

import com.fasterxml.jackson.databind.ObjectMapper;

public class ReadFile {

public static String readJsonFile() { ObjectMapper mapper = new ObjectMapper(); try { File file = new File("C:\\file.json"); // JSON形式で読み込む Object json = mapper.readValue(file, Object.class); // JSON形式で文字列として返す return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json); } catch (IOException e) { e.printStackTrace(); return null; } }

}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jimbe

2023/01/17 14:03

そのメソッドで何がどうなるのをテストしたいのでしょうか。 それを書くだけです。
guest

回答1

0

一般的には引数があってもなくても同じで、関数を呼んだ結果が想定される状態になっているかどうかチェックすればよいです。String を返す関数なら、String の内容が正しいかどうかチェックします。

この関数に関しては C:\file.json というファイルに依存していて、ファイルがある場合はファイルがないケースをテストできないし、ファイルがない場合はファイルがあるケースをテストできません。String readJsonFile(String path)String readJsonFile() { return readJsonFile("C:\\file.json"); } の2つを用意して、前者に対してテストを書くのもアリです。

投稿2023/01/17 21:59

int32_t

総合スコア20659

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asuka.Mir

2023/01/18 11:55

すみません。2つを用意というのは、どちらか※2パターンに修正後、テストコードを書くという意味でしょうか。 ※String readJsonFile(String path) と String readJsonFile() { return readJsonFile("C:\\file.json"); }
int32_t

2023/01/18 21:40

> どちらか※2パターンに修正後 いいえ。 本番コードは String readJsonFile(String path) と String readJsonFile() の両方を持つようにし、テストコードでは String readJsonFile(String path) だけをテストするということです。readJsonFile() は内部で readJsonFile(String path) を呼ぶので、コードカバレッジ的にはほぼ問題ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問