使用言語:JAVA言語
単刀直入ですが、djunitでの単体テストのメソッドの引数に値を設定したいですがどうすればいいのでしょうか?
引数がString型
Messageクラス
public class Messages {
public String getMessage(String message) {
return message ;
}
}
テストケース作成
public void testGetMessage001() {
System.out.println("[testGetMessage001]");
Messages messages = new Messages();
System.out.println(messages.getMessage("Hello"));
}
とやれば、インスタンス生成してgetmessageメソッドにHelloが入ります。
問題は次の場合で仮にAxxクラスとして
Public class Axx{
Public void getAxx(HttpServletRequest request){
~処理~
}
}
引数に(クラス名 オブジェクト名?)
この場合、テストケースに
Axx axx = new Axx();
System.out.println(messages.getAxx("????"));
のようにMessageクラスと同じようにできるのでしょうか?
それとも別の方法でHttpServletRequest requestに値をセットできる方法があるのでしょうか?
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
HttpServletRequest はインターフェイスなので、それを実装したクラスのインスタンスを getAxx メソッドに渡してやる必要が有りますね。
現実的には下記のどちらかの方法になるかと思います。
a. テスト用に HttpServletRequest を実装したクラスを作る。
b. EasyMock, JMock などのモックオブジェクト生成ライブラリを使う。
djUnit の Virtual Mock Objects は、実装されているメソッドの動作を変えられますが、インターフェイスからの実装クラスを生成することは出来なかったかと。
No.1
- 回答日時:
こうでしょうか・・?
Axx axx = new Axx();
//コンストラクタには必要なら引数を指定してください
HttpServletRequest myRequest = new HttpServletRequest();
System.out.println(axx.getAxx(myRequest));
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(vba)他のアプリケーションの右...
-
「ラッパークラス」の存在意義...
-
「継承されたメソッドの可視性...
-
抽象クラスをJUNITでテストする...
-
ASP.NETでの共通コードの書き方...
-
オーバーライドとラッパーの違い
-
【C#】クラスのコンストラクタ...
-
interface,extend,implementの...
-
【継承】親のメソッドの実行
-
【設計思想の質問】staticメソ...
-
Java AWTのコンポーネントについて
-
JAVAにFTP転送をサポートし...
-
VB DLLプロジェクトについて
-
C# 「データが失なわれる可能性...
-
Javaでは多重継承ができない、...
-
C#からDLLを呼びたいのですが・...
-
JTextFieldの入力制限
-
変数名の付け方
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
interface,extend,implementの...
-
抽象クラスをJUNITでテストする...
-
「ラッパークラス」の存在意義...
-
(vba)他のアプリケーションの右...
-
ASP.NETでの共通コードの書き方...
-
VB DLLプロジェクトについて
-
C#からDLLを呼びたいのですが・...
-
c++でのヘッダーファイルの循環...
-
委譲って何ですか?
-
「継承されたメソッドの可視性...
-
【C#】クラスのコンストラクタ...
-
Javaでのジェネリクス型パラメ...
-
C# 「データが失なわれる可能性...
-
Excel vbaのプログラムでガンマ...
-
ファイルパスが取得出来ない(P...
-
オーバーライドとラッパーの違い
-
compareToにおける「自然順序付...
-
メソッドの引数にクラス名を渡す
-
vb.net 自作プロパティの削除に...
-
VBがオブジェクト指向言語でな...
おすすめ情報