実験的機能っぽいけど、JUnit5でもParameterized Testsができるみたいなので、お試ししてみたよ。 必要なライブラリを追加 junit-jupiter-apiとParameterized Testをするために必要なjunit-jupiter-paramsを追加してあげる。 testCompile 'org.junit.jupiter:junit-jupiter-api:5.0.0' testCompile 'org.junit.jupiter:junit-jupiter-params:5.0.0' テストコードを書いてみる ドキュメントを参考に書いてみた。 Testアノテーションは不要で、ParameterizedTestアノテーションを設定してあげるみたい。 テストデータはValueSourceアノテーションに設定する。ValueSourceアノテーションでは一部の型だ
JUnit5でわりと便利だと思っているのが、JUnit5に標準でついてくる Assertions#assertAll と @TestFactory で返す Iterable<DynamicTest> です。 エンタープライズな現場でよく見かけるテストとして、こういうのがあるかと思います。 @Test void firstTest() { final Map<Long, UserEntity> map = getUsers(); final UserEntity u1 = map.get(1L); assumeTrue(u1 != null); assertEquals(1L, u1.getId()); assertEquals("ユーザー1", u1.getName()); assertEquals("test1@example.com", u1.getEmail()); final Us
One of the new features in IntelliJ IDEA 2016.2 is support for the new JUnit 5 testing framework. Almost all Java developers will have used JUnit at some point, so it’s pretty exciting to find the newest version has evolved with the times and provides a number of new features, some of which may be familiar to those who have used other frameworks. IntelliJ IDEA supports the ability to actually run
A small team of dedicated developers is currently working on JUnit 5, the next version of one of Java’s most popular libraries. While the improvements on the surface are deliberately incremental, real innovation happens under the hood, with the potential to redefine testing on the JVM. After a prototype in November 2015 and an alpha version in February 2016, July saw the releases of Milestone 1 an
はじめに 本ブログでご案内しているように、javacのバグによりJDK1.7.0_79以前でコンパイルエラーが生じることがわかった。 この問題を回避するために、jcunit 0.6.4をリリースしたので、pom.xmlを以下のように更新して欲しい。 <dependency> <groupId>com.github.dakusui</groupId> <artifactId>jcunit</artifactId> <version>[0.6.4,)</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> (第四
JUnit4.12がでました!……2014/12/4に。なんと6ヶ月経ってる。まぁいいや。 JUnit 4.12の新機能紹介まとめ / うさぎ組(2014/8/5) JUnit 4.12から入ったTestRuleを軽く見てみる / 裏紙(2015/2/28) JUnit4.12時代のParameterized Test / mike-neckのブログ(2015/5/6) ググっても4.12の情報があまり引っかからなかったので書いてみますね。 リリースノート斜め読み とりま、Summary of changes in version 4.12 を斜め読み致して、気になるところ(★)は後でもう少し詳しく書く事にします。なお、バグフィックス、メッセージ変更、挙動の統合などの特にテストコーディングに影響を与えないものはスルー。 Assersions floatのassertNotEquals →
DisableOnDebug DisableOnDebug 他の TestRule をラップして、 デバッグ実行されているときのみラップした TestRule を適用します。 import org.junit.Rule; import org.junit.Test; import org.junit.rules.DisableOnDebug; import org.junit.rules.TestRule; import org.junit.rules.Timeout; public class HogeTest { @Rule public TestRule timeout = new DisableOnDebug(Timeout.seconds(1)); //1秒以上かかったら失敗とみなす @Test public void testHoge() throws Exception {
全国50万のJUnit4ユーザーさん。使っている言語とテスティングフレームワークののMLとGithubやBitBucketリポジトリを監視していると思うので今さらかもしれませんが、2014/7/30にJUnit4.12 Beta-1がリリースされました。 結構楽しい機能が追加されているので、見逃している方のために情報を共有させていただければと思います。 基本的にリリースから抜粋しながら紹介ですがご容赦ください。 Release Notes junit/ReleaseNotes4.12.md at master · junit-team/junit · GitHub 全体の感想 JUnit4がおれの足元にやっと追いついたと思った。(今までJUnitとSpockを魔改造しまくってた。) テストランナー系 クラス階層化 JUnit魔改造コミュニティに朗報です。私たちのテストランナーでよしなにやっ
以前書いたエントリ、 Fest Assertionsを使って、テストコードを書く http://d.hatena.ne.jp/Kazuhira/20131224/1387895002 をAssertJで書き直した、焼き直しみたいなエントリです。 以前、Fest Assertionsを使ってから、個人的に書くテストコードにはFest Assertionsを使っていたのですが、開発が停止状態?にあることと、その後継的なものとしてAssertJがあることに気付いてはいたのですが、長らく放ったらかしにしていました…。 いい加減、試してみようかということで。 AssertJ http://joel-costigliola.github.io/assertj/ Fest Assertionsと同様、JUnitおよびTestNGと一緒に使えるみたいです。 また、Fest Assertionsからのマイグ
最近、こちらの本を読んでいまして。 Play Framework 2徹底入門 JavaではじめるアジャイルWeb開発 作者: 掌田津耶乃,原一浩出版社/メーカー: 翔泳社発売日: 2013/12/17メディア: 大型本この商品を含むブログ (7件) を見る まだ読み始めたばかりで、かつ全然Play Framework2と関係なくてなんなのですが、ここの第1章に出てきたこんなコードが気になりまして。 assertThat(contentType(html)).isEqualTo("text/html"); JUnit+Hamcrestかなぁ〜と思って流そうとしたら、なんか雰囲気が違う…。どうも、Fest Assertionsというテストライブラリで、アサーションを流れるようなインターフェースで書けるものみたいです。JUnitやTestNGと一緒に使えるみたいですよ。 FEST Fluent
渡辺です。 先日、「JUnitのオブジェクト等価比較を怠けたい!」というスライドが公開されました。「オブジェクトのカスタムアサーションをどのように実現するか」という問題は、ユニットテストを実践していくとよく発生します。この問題に関して、先日のJJUG CCCでも相談されました。また、簡単に書ける仕組みは共有した方が良いのですよね。そんなわけで、cmtestというライブラリにまとめましたので紹介したいと思います。 Objectクラスのequalsメソッド Javaではオブジェクト同士の比較にはObjectクラスのequalsメソッドを利用することが定石です。これはユニットテストのアサーションでも同様です。テストした結果に作られる実測値と、テストの期待値を比較する時、通常はequalsメソッドを利用します。equalsメソッドを使った比較を行うのであれば、定番のassertThat構文を利用で
概要 EasyMockで単体テストをMockする 詳細 EasyMockで単体テストをMockします。 導入手順 ・下記URLからjarをダウンロード http://sourceforge.net/projects/cglib/files/ http://sourceforge.net/projects/easymock/files/EasyMock/3.1/easymock-3.1.zip/download ・対象プロジェクトのビルドバスにjarを追加 サンプルコード package easymock; public class SampleEasyMock { public String ret = ""; public Hage hage = null; public void hoge(String message) throws IllegalArgumentException
概要 mockitoで単体テストをMockする 詳細 mockitoで単体テストをMockします。 業務ではdjUnitしか使って居なかったのですが、djUnitのMock機能は メソッドを文字列で指定するためリファクタリング対象外になる、という欠点があります。 メソッドのリファクタリングなどはよく行う機会が多く、 特にユーティリティ系の用に大量に利用されるコードをモック指定た場合に リファクタリングの工数がかなり膨らんでしまいます。 導入手順 ・下記URLからjarをダウンロード https://code.google.com/p/mockito/downloads/list ・対象プロジェクトのビルドバスにjarを追加 サンプルコードリファクタリング前 Chickenクラス package mockito; public class Chicken { public String cr
2012-12-26 Javaプログラマ必読の実践的テスト指南書『JUnit実践入門』レビュー 渡辺修司さん著『JUnit実践入門』が発売されてからかなり経ってしまいましたが、実はこの本、すこしだけレビューにも参加させてもらいました。私は結局少ししかご協力できなかったのですが、それでも献本頂きました。レビュー段階からこれはいい本になると思って、ぜひレビューを書こうと思ってましたが、遅れに遅れ、今になってしまいました。 JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)作者: 渡辺修司出版社/メーカー: 技術評論社発売日: 2012/11/21メディア: 単行本(ソフトカバー)購入: 12人 クリック: 238回この商品を含むブログ (19件) を見る この本、私は読者としてプログラマとしてかなり助けてもらってますので、基本的に褒めるところしかない
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く