You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
mockito では mocking していない場合、org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues が返ります。 JDK で提供されているコンテナ型の場合には空のコンテナ型が返りますのでいいのですが、通常のユーザーが作成したクラスの場合、null が返ります。 これにより NullPointerException が発生してつらいです。 SmartNullPointerException が発生した場合、以下のようなエラーメッセージが表示され、非常に問題が解決しやすくなります。 org.mockito.exceptions.verification.SmartNullPointerException: You have a NullPointerException here: -> at com.exampl
テストを書いているとモックオブジェクトを使う機会が多いと思います。そのモックオブジェクトは自前で作るよりは、JMockやMockito*1などのフレームワークを利用した方が楽でしょう。 今回は機能的に、ほぼ最強と思われるJMockitを紹介します。 これが、他のモックフレームワークとの機能比較です。 MockingToolkitComparisonMatrix - jmockit - A feature matrix comparing several mocking toolkits. - Project Hosting on Google Code 機能が多ければ使いやすいか。そんなことはないと思います。しかし、これは使いやすいかもと周りの人からお勧めがあったので、実際に使ってどんなところが使えるのか検証してみたので、書いてみます。あと、最後にScalaで使えるか試してみました。 あ、
テストコードでは必須と言ってもいいくらいにお世話になっているモックライブラリ「Mockito」 最低限の使い方というか、実際よく使っているパターンを紹介します。 モックって? モックライブラリを使ったことがない方は、モックするという事自体に馴染みがないと思います。 例えば、テスト対象のクラスAが別のクラスBに依存している場合に、クラスAのテストコードなのにクラスBを初期化する処理を長々と書いたりするのは余計な手間です。もしクラスBがビジネスロジックなら目も当てられないテストコードが出来上がります。 モックライブラリでは、クラスBをクラスB自身の実装に依存しないmock(ハリボテ)として生成し、更にそのメソッドの戻り値を任意に設定するという事ができます。これにより「クラスBがこういう状態でこういう値を戻す場合のクラスAのテスト」が容易に書けます。 そしてそのモックライブラリの注目株が Moc
書いた人 大中浩行(せとあずさ♂)(@setoazusa) Unit Testを行う場合において、テストケース側から制御することが難しいコンポーネントが行う処理のことを間接的入出力(Indirect Input)といいます。例えばJavaでサーブレットを書く時には、HttpServletクラスの public void service(ServletRequest req, ServletResponse res) というメソッドをオーバーライドするわけですが、HttpServetRequestやHttpServletResponseのインスタンスはどこで生成されているのかといえば、それはWebコンテナの内部であって、我々が関与できるところではありません。他にもデータベースであるとか、外部環境とのエクササイズを伴うとか、異常系の動作を確認する必要があるとか、Unit Testを書く上で妨げ
Testing the email related code comes with its own challenges, we may need a dedicated test mail server with test mail box verification part of the test can not be executed right after the setup of test due to the latency in the mail delivery (due to milliseconds delay the test may fail). setup and maintenance may cost its own penalties Especially in CI and Unit testing, testing email part of the c
JMockitと同様、ユニットテスト対象のクラスが、別なクラスのstaticメソッドを呼んでインスタンスを取得し、そのインスタンスのメソッドを呼び出し、その戻り値によってロジックが左右されるという場合のテストを想定します。 テスト対象クラスは、JMockitと同じものを使います。 Mockito + PowerMockを使ってJUnitでテストを書くと import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.modules.junit4.PowerMockRunner; import org.powermock.core.classloader.annotations.PrepareForTest; import static org.powermock.api.mockito.PowerMo
初めましてこんにちは。ソーシャルクライアント開発の tanabe と申します。 今回は?Sinon.JS を使った JavaScript のテスト方法を紹介したいと思います。 Sinon.JS って何? Sinon.JS はノルウェーのエンジニア Christian Johansen さんが書かれた、JavaScript 用のライブラリです。スタブやモック、フェイクオブジェクトの提供に特化していて、QUnit などのテスト用のフレームワークや実行環境に依存しない所が特徴です。Christian Johansen さんは?Test-Driven JavaScript Development の著者でもあり、こちらは近々翻訳版 が登場するようです。 では早速、Sinon.JS を使ったテスト手法をご紹介していきたいと思います。本稿ではテストフレームワークは QUnit を採用しています。 時間
設計ツールとしてのモックの使い方について考える。 導入 先日、"Mock Roles, not Objects"の日本語版「ロールをモックせよ」を公開しました。この論文は2004年に書かれたもので、著者はSteve Freeman氏、Nat Pryce氏、Tim Mackinnon氏、Joe Walnes氏という豪華メンバーです。また、Steve Freeman氏とNat Pryce氏は『Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))』(いわゆるGOOS)の著者でもあり、"Mock Roles, not Object"で語られている思想はGOOSのベースになっているとも言えます。 今回は、この"Mock Roles, not Objects"(以下、MRnO
Python Mock Library Comparison¶ This is a side-by-side comparison of how to accomplish some basic tasks with popular Python mocking libraries and frameworks. The libraries are: mock flexmock mox Mocker Dingus fudge Some mocking tools are intentionally omitted: python-mock (last release in 2005) pmock (last release in 2004 and doesn’t import in modern Pythons). Other mocking frameworks are not yet
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く