/** * 仮想SMTPサーバの起動・停止のRuleクラス. * */ public class MailTestRule extends ExternalResource { private Wiser wiser; private static Config config = ConfigFactory.load().getConfig("smtp"); public static final String HOST = config.getString("host"); public static final int PORT = config.getInt("port"); public Wiser getWiser() { return this.wiser; } @Override protected void before() throws Throwable { wiser
渡辺です。 DevelopersIOでの100本目のエントリーがJUnitネタとなりました。 自分がJUnit実践入門を執筆したのは2011年から2012年にかけてです(出版が2012年11月)。 それからJava8がリリースされていますが、JUnit4自体は大きな進化はしていませんでした。 昨日、JUnit Lambda Prototypeが公開されました。 まだプロトタイプということで、今後の変更は大きいかと思いますが、いよいよ次世代のJUnitの足音が聞こえてきた感じがします。 今回は、このドキュメントからJUnit Lambdaの概要と方針について速報をお送りしたいと思います。 なお、現在JUnitチームでは、このプロトタイプに対するフィードバックを募集しています。 ここはこうじゃないとかはてブコメントする前にTwitterやGitHubでフィードバックを! JUnit Lambd
JavaでのDBのテストデータ作成はDbSetupが楽 - Qiita を見て DbSetup をちょっと試してみた。 それで、中々良さげだったのでユーザーガイド(http://dbsetup.ninja-squad.com/user-guide.html)をテキトーに翻訳してみた。 User Guide Don't clean up, prepare! 伝統的なデータベーステストの方法は、空のデータベースから始め、各テストの前にデータベースを操作し、テストを実行し、テスト後にデータを削除します。 このアプローチは不十分です。 データベースはテスト前に空でなければならず、そうでない場合失敗します。 テストが失敗する場合、テスト後にデータベースの中身を検証することには意味があります。 大半のテストはread-onlyで、同一のデータセットを何度も何度も追加&削除することはテストを遅くさせます
Javaでのデータベースのテストデータ作成にはDBUnitがよく使われますが、自分はDbSetupをオススメします。 DbSetup なぜDBUnitがイマイチなのか 自分も最初はDBUnitを使ってたのですが、以下の理由からしっくり来ませんでした。 DBを使ったテストでは少量のデータを使うことが多い ホワイトボックステストで大量のデータを使うことはほとんどなく、単一または複数のテーブルに対して、少量のデータを用意するケースがほとんどです。なので、テストごとにファイル(XML or Excel)を用意するのは面倒です。 テストコードとデータが分離している テストデータを外部ファイルに保存するため、テストコードとテストデータが分離してしまっています。そのため、何をテストしているのかが分かり辛いです。 そこでDbSetup そこで見つけたのがDbSetupです。DbSetupはテストデータをJ
Similar to XPATH, JSONPath is a simple way to extract parts of a given document. The example below uses Github Issues JSON and due to the length of JSON it won't be included in the example. Get all issues ids@Test public void all_issues_ids () { List<String> issueIds = JsonPath.read(githubIssues, "$.[*].id"); logger.info(issueIds); assertEquals(8, issueIds.size()); }First issue title@Test public v
テストクラスを書くときに使いそうなので事前に調査した。 調べたのは下記の通り Springを使ってるのでDIしている箇所がモックにできるか staticメソッドの戻りもモックにできるか new Date()...の戻り値もモックにできるか 結論:できた。 これ1つで全部まかなえたのは結構大きいかもしれない。できないことはなんだろうか?? package com.hachiyae.jmockit; import mockit.Expectations; import mockit.Mock; import mockit.MockUp; import org.junit.Test; import java.util.Calendar; import java.util.Date; import static org.hamcrest.core.Is.is; import static org.
論よりコードということでサンプルをつらつらと。 package study.mockito.helloworld; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.NoSuchElementException; import org.junit.Assert; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.InOrder; import org.mockito.Mock; import org.mockito.Mockito; import o
Spock 0.7 から、これまでの Mock に加えて Stub と Spy も使えるようになったので今回調べてみました。 ぶっちゃけ Mock だけ使えれば事足りるんじゃないかと思ってました。 (調べてみた後も若干そう思ってます) テストダブル(Test Double) テストダブルは、テストする対象が依存しているオブジェクトを置き換える代役です。 モック、スタブ、スパイはテストダブルになります。 テスト関連本だと、当然のように「ダブル」って言葉が出てきますが、 ちゃんと理解していないと混乱する用語だと思います。 テストダブルについては『JUnit 実践入門』の第11章に詳しく書かれています。 私はこれを読んで、理解ができました。 JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)posted with ヨメレバ渡辺 修司 技術評論社 201
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く