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

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

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

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

Java

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

Q&A

解決済

1回答

2337閲覧

Mockitoのspy使用時に、元のメソッドを元の実装のまま呼び出す方法を知りたいです。

potato_taro

総合スコア2

JUnit

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

Java

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

0グッド

0クリップ

投稿2020/07/09 23:53

困っていること

Servletクラスをテストしようとしており、request.setAttribute()で元のメソッドが呼び出されない。

@Test public void testDoPostWithoutInputs() { HttpServletRequest request = spy(HttpServletRequest.class); request.setAttribute("hoge", "fuga"); System.out.println(request.getAttribute("hoge")); }

私の認識では、spyを使用すると、メソッドをモックしない限り元のメソッドの実装がそのまま呼び出されるため、上記のコードでいうとSystem.out.println()により"fuga"の出力を期待しております。

しかし実際にはnullが表示されます。

どこかにミスがございますか?
考えられ得るのは私のspyに対する認識ミスか、もしくはsetAttribute()は正しく呼び出されているが、その内部実装を理解できていなからでしょうか。

お手数おかけいたしますが、ご回答いただけますと幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

HttpServletRequest はインタフェースであり実装ではありません。

spring-test の MockHttpServletRequest 等を利用するか
自前で MockHttpServletRequest を作成しましょう。

  1. 何もしないメソッド
  2. ull を返すメソッド

が実装されます。

投稿2020/07/10 00:02

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

potato_taro

2020/07/10 00:06

それは盲点でした...! 過去にその点を把握していたにも関わらず、何とも不甲斐ないです... 迅速にご回答いただき誠にありがとうございました。 大変助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問