最近、昔作ったTest Doubleの解説資料を参照・引用してくれる方がちらほら出ていて恐縮しているのですが、見直してみると結構わかりにくい資料なので今回文章としてまとめたいと思います。内容は世間一般的に言われているMock、Stub、Fake、Dummyといった言葉の定義になります。 Test Doubleとは Test Doubleとは、テスト実行時に、テスト対象が依存しているコンポーネントと置き換わるものです。「テスト代役」と訳されることもあります。世の中でMock、Stub、Fake、Dummyなどと呼ばれているものの総称に位置づけられます。 簡単な例を以下に示します。このコードでは、テストメソッド「テストコード()」がメソッド「テスト対象()」をテストしています。また「テスト対象()」は、中でメソッド「外部メソッド()」を実行しています。なお「外部メソッド」はテスト対象でないとし
呼び出し順序の妥当性検証 余計なメソッド呼び出しが行われていないことを検証する Mockito のアノテーション 複数回のモックメソッド呼び出しの結果を変化させる コールバック付きの戻り値定義 voidメソッドの振舞を定義するdoXXファミリー 実オブジェクトの動作を変えるspy 本記事は、以下の記事の続きです。 blog1.mammb.com 呼び出し順序の妥当性検証 以下のように、2つのモックがあり、それぞれのモックの add() メソッドの呼び出し順序を検証したい場合、 List firstMock = mock(List.class); List secondMock = mock(List.class); firstMock.add("was called first"); secondMock.add("was called second"); InOrder を使用します。
Thucydides is an open source library that lets you use WebDriver/Selenium 2 to write better acceptance tests. Thucydides helps you: Write tests that are more flexible and easier to maintain Produce illustrated, narrative reports about your tests Map your automated tests back to your requirements more easily See how much of your application is actually being tested And measure project progress Thuc
domain driven design, apache isis, restful objects, naked objects, agile, tdd In this week’s run of my TDD course, I thought it would be interesting to write a little fixture to make it easier to use dbUnit. My original thought was just to teach dbUnit about JSON, but it turns out that Lieven Doclo has done that already. So I decided to go a step further and also combine dbUnit with JUnit Rules,
Dumbster fake SMTP Server Forked from http://quintanasoft.com/dumbster/ version 1.6 by Jason Kitchen * Works as a single-threaded unit testing SMTP target * Works as a multi-threaded unit testing SMTP target * API change- returns an Array of messages rather than an Iterator * API change- RollingMailStore implements MailStore keeps rolling 100 msgs. * API change- EMLMailStore persists mail to files
このエントリーは、@cero-tさんのエントリーの次で、Java Advent Calendar 2011の6番目のエントリーです。自分自身の今年のメインテーマがTDD(テスト駆動開発)と言う事もあり、関連エントリーとしてJUnitについて書きたいかと思います。今更JUnit?と思われた方も普段からJUnitを使っていあなたも気軽にお読みください。尚、色々な話題を駆け足で紹介するので、どれも簡単な紹介程度になってしまいますが、ご了承願います。 JUnit4 スタイル JUnitがアノテーションに対応し結構な月日が流れましたが、古いコーディング規約のままでテストコードを書いていませんか?JUnit4では、アノテーションとアサーションを使ったテストコードを書くことが基本スタイルです。かつては、TestCaseのサブクラスを作り、testではじまるメソッドを定義していましたが、今は Testアノ
Real world mutation testing PIT is a state of the art mutation testing system, providing gold standard test coverage for Java and the jvm. It's fast, scalable and integrates with modern test and build tooling. Get Started Pro Version Issues Source Maven Central Mutation testing is conceptually quite simple. Faults (or mutations) are automatically seeded into your code, then your tests are run. If
今週水曜日に、オラクル青山センターで行われたGlassfish Japanユーザーグループの勉強会でJava EE6のお話をさせていただきました。勉強会のスライドとビデオは以下のリンク先にあります。 Glassfish勉強会(JavaEE6について) View more presentations from Ryo Asai http://www.ustream.tv/recorded/16552906 今回は基本的に私がこのブログで書いてきたJava EE6関連の情報について紹介させていただきました。欲張って少し内容を詰め込み過ぎたところがあったかもしれませんが、Java EE6を使った単体試験や結合試験の自動化については、説明をスキップしてしまい、ちょっとわかりにくくなってしまいました。ここで、あらためてJava EE6上のアプリケーションのテスト自動化について簡単に補足させていただき
10月26 並列テストツールのConTestを試してみた カテゴリ:My JavaMy Programming 前回のエントリの予告どおり、並列処理のテストツールConTestやります。 Javaでスレッドセーフなstatic変数の初期化まとめ : Everyday FunkiEE!!本当はこのエントリでConTestまで紹介する予定だったけど、1エントリで書くにはボリュームがあるので次回にまわそうと思います。 題材は前回のエントリと同じで、static変数の初期化です。 ConTestのインストールまずはインストールから。 ⇒alphaWorks : ConcurrentTesting - Advanced Testing for Multi-Threaded Applications : Overviewからzipファイルをダウンロードしてください。 解凍した中身のConTest.ja
Maven 2.1.0 not passing on system properties to Java virtual machine - Stack Overflow MavenのSurefire plug-inからJUnitのテストケースを実行する際にシステムプロパティを渡す方法です。システムプロパティは以下のようなコードで取得できます。 System.getProperty("foo") 通常のJavaプログラムであれば、java.exeを実行する際の引数に以下のように指定することができます。 -Dfoo=barただ、Maven経由で実行するテストケースでは、以下のようにmavenを実行しても、 mvn -Dfoo=bar testSurefire PluginのforkModeの影響で、取得できない場合があるようです。 この場合には、pom.xmlでSystemPropertie
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く