タグ

Testingとjunitに関するclavierのブックマーク (20)

  • JUnitで学ぶ実践的で本質的なユニットテストの考え方 - Qiita

    初めに 具体的なコードや方法も記述しますが、それよりも JUnit などの自動テストのFW、ユニットテストの概念や目的など質的なことを把握し理解する事を主題にしてます。 また、参考資料欄にあるように、様々なものを参考に網羅的にまとめています。非常にボリュームがるので興味あるところだけ読んでもらう方が良いかもしれません。 こちらでは、ある程度開発経験(1〜2年程度)があり、自動テストについて少しでも触れた事があるくらいの方が対象になる記事です。自分がそうだからです。ただし、コンパイルエラーにならないだけの書き方では意味がないのでそういった構文やお作法に関する話はあまりしません。なぜそのようなお作法になったのか?そうである理由は何なのか?トレードオフは?といった、質的な部分にフォーカスを当てていきたいと思います。 1. 概要 JUnitJava 言語向けのユニットテストフレームワーク

    JUnitで学ぶ実践的で本質的なユニットテストの考え方 - Qiita
  • JUnit5 使い方メモ - Qiita

    package sample.junit5; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.DisplayName; class JUnit5Test { @Test void fail() { Assertions.assertEquals(10, 8); } static class StaticClass { @Test void fail() { Assertions.assertEquals(10, 8); } } static class StaticTest { @Test void fail() { Assertions.assertEquals(10, 8); } } class InnerTest { @Te

    JUnit5 使い方メモ - Qiita
  • まだまだ間に合うJUnit(再)入門 #jjug_ccc #ccc_g4

    複雑なビジネスルールに挑む:正確性と効率性を両立するfp-tsのチーム活用術 / Strike a balance between correctness and efficiency with fp-ts

    まだまだ間に合うJUnit(再)入門 #jjug_ccc #ccc_g4
  • 現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ

    この文章の背景について この文章はテスト容易性設計をテーマに 2013/11/26 に CodeIQ MAGAZINE に寄稿したものです。残念ながら CodeIQ のサービス終了と共にアクセスできなくなっていたため、旧 CodeIQ MAGAZINE 編集部の皆様に承諾いただき、当時の原稿を部分的に再編集しつつ、ライセンス CC BY(クリエイティブ・コモンズ — 表示 4.0 国際 — CC BY 4.0) で再公開いたしました。 旧 URL にいただいたブックマークとご意見はこちらです(これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE)。旧記事には当に多くの反響をいただき、誠に感謝しております。 目次 この文章の背景について 目次 出

    現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ - t-wadaのブログ
  • ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て

    Java SE 9を、新たに導入されたモジュール・システム(Jigsaw)を中心として紹介します。JJUG CCC 2017 Fallの発表資料です。 補足: p. 7 正しくは「JMX」→「JMS (Java Message Service)」。JMXはJava SE内の、モニタリング用の仕組みです。 p. 43 これに加えて、SPIの実装を提供するモジュールも、モジュールレイヤーに含まれます。具体的にはConfiguration.resolveAndBindの動きです。 p. 47「Oracle JDKでは、外部モジュールの非公開メンバへのリフレクションが可能」は、OpenJDKでも同じ動作です。「HotSpot系の」とすべきところでした。 このスライドはCC Attribution Licenseの元に、利用・改変・再配布をライセンスします。

    ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
  • JUnit5(Alpha版)使い方メモ - Qiita

    JUnit5 の Alpha 版が公開されてたので、関西DDDに補欠になってしまった悲しみを紛らわすために使い方を調べた。 ※Alpha 版なので、今後変更されるかもしれません。 JUnit5 とは 言わずと知れた JUnit の次期バージョン。 Java 8 以上のみをサポートするようになり、 JUnit4 からは大きく変わっている。 でも、テストメソッドとか基的な考えは変わっていない。 2016/02/06 現在、 Alpha 版が公開されている。 Hello World Gradle で使う方法(Maven でもいけるらしい)。 ビルドファイル buildscript { repositories { maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } } dependencies { cl

    JUnit5(Alpha版)使い方メモ - Qiita
  • JUnit5はどこに向かうのか? | DevelopersIO

    この表から解るように、一部の機能を除けばJUnit4の機能は継承されています。 したがって、JUnit4を理解していれば継承された機能をJUnit5に移行することは難しくないでしょう。 最初は多少の混乱はあるかと思いますが、すぐに慣れるレベルかと思います。 逆に、新しくJUnit5からJavaのユニットテストに入るのであれば、JUnit4の制約がないことは良い材料です。 特に、構造化テスト(ネストクラス)の時、JUnit4ではネストクラスをstaticクラスにすることを強いられていました。 これは、テストクラスをテスト毎に作成するという制約があったためです。 この制約がある以上、テストクラスからアウタークラスのインスタンス変数にアクセスできませんでした。 ユニットテストではテスト毎にテストインスタンスを作成することが原則なので、この制約は仕方ないと考えても良いでしょう。 しかし、テストがネ

    JUnit5はどこに向かうのか? | DevelopersIO
  • Supercharging Your Android Testing — JUnit & Espresso

    About the content This content has been published here with the express permission of the author. Testing almost always helps catching bugs and write better code, but it can be a huge pain without a proper framework and setup. At the Bay Area Android Dev Group meeting, Ellen Shapiro explains how to super-charge your Android testing, including UI testing, with JUnit 4 and Espresso 2. She demonstrat

    Supercharging Your Android Testing — JUnit & Espresso
    clavier
    clavier 2015/09/26
    JUnit 4 と Espresso 2 で Androidのテストをスーパーチャージ, by Ellen Shapiro - Realm is a mobile database: a replacement for SQLite & Core Data
  • JUnit – JUnit Lambda

    JUnit Lambda was the working title for what has now become JUnit 5. The initial phases of this work were enabled by a crowdfunding campaign on Indiegogo.

  • Googleのアサーション用ライブラリTruthを試してみた - Kengo's blog

    Guavaのテストコードを読んでいたらTruthというtesting frameworkが使われていることに気づき、最新の個人プロジェクトで使ってみました。まだアルファ版ですし、自分でも使い続けるかどうか微妙なところですが、試用記録として利点をまとめます。 なお著者がアサーションフレームワークに求めるのは、大人数が関わるプロジェクトにおける「開発者の個性(経験、知識、趣味)に限らず、短時間で保守性が高く直感的なコード・エラーメッセージが書ける」ことです。異なる観点からこのプロダクトを見ると、また違った意見があるかと思います。 assertThat()が必要とされた理由 そもそもassertThat()はなぜ必要なのでしょうか。それはassertTrue(), assertFalse() などのメソッドが生むエラーメッセージが直感的でないからです。 Truthのウェブサイトにのっている例が非

    Googleのアサーション用ライブラリTruthを試してみた - Kengo's blog
  • 2015年7月時点でのJUnit4やEspressoを使ったAndroidアプリのテストについて - Qiita

    以前「Androidのテスティングフレームワークを選定してみる」という記事を書いたのですが、最近久しぶりにEspressoを使ったテストコードを書こうと思って調べていたら、Espressoが2.0から2.2になっていたりして、いつのまにやらTesting Support Libraryが色々と更新されているようでした。 なので、メモがてら少しまとめてみました。 testing-support-libが分割された 以下の2つに分割されたようです。 com.android.support.test:runner com.android.support.test:rules Espresso 2.1のReleaseNotesに破壊的な変更点として記述されています。 Breaking Changes test runner artifact split into two and the name

    2015年7月時点でのJUnit4やEspressoを使ったAndroidアプリのテストについて - Qiita
    clavier
    clavier 2015/07/31
    2015年7月時点でのJUnit4やEspressoを使ったAndroidアプリのテストについて - Qiita
  • JUnit4.12時代のParameterized Test - mike-neckのブログ

    JUnitに追いつこう(2周回遅れ、男子一万メートルだと2分近くの差、箱根駅伝なら4分40秒の差)という趣旨のエントリーです。 要約はこっちを見るほうが早かった kyon-mm.hatenablog.com irof.hateblo.jp Parameterized Test Parameterized TestがこれまではIterable<Object[]>だったのが、Iterable<Object>になったらしい。で、これに合わせるかのようにIntelliJ IDEAもParameterized Testでテストデータごとに結果を表示・再実行できるようになってた。で僕は、これまでパラメタライズドテストする場合は、Iterable<Object[]>を嫌って@RunWith(Theories.class)でテストしてたわけで、IntelliJ IDEAがParameterized Tes

    JUnit4.12時代のParameterized Test - mike-neckのブログ
    clavier
    clavier 2015/05/11
    JUnit4.12時代のParameterized Test - mike-neckのブログ
  • テストがあればなんとかなる〜効率化までの道程〜

    HTML5とJavaScriptWindows 8のアプリ開発に挑戦! ~マイクロソフトが語るWindows 8の現状・展望と開発実践」http://bit.ly/13GPUEv

    テストがあればなんとかなる〜効率化までの道程〜
  • RestfuseによるREST API自動試験まとめ(その1) - Taste of Tech Topics

    こんにちは、Web系エンジニアのナカガワです。 皆さん、REST APIのテストはどのようなツールを使っていますか? 私はJUnitでテストが書ける「Restfuse」を使っています。 今回、実プロジェクトでRestfuse + Jenkinsで定期的にREST APIをテストする仕組みを構築したため、このあたりのノウハウをまとめて書きたいと思います。 REST APIテスト自動化のゴール ゴールは以下の二つです。 (1) APサーバ上で動作しているWebアプリケーションに対し、自動でREST APIテストを実施する。 (2) Jenkinsを用いてCIを実施可能にする。 まず今回は、前者のREST APIテストを実施するところまで紹介します。 Restfuseを使って、REST APIをJUnit上でテスト可能に! 先にも書きましたが、私が使ったのはRestfuseというツールです。 R

    RestfuseによるREST API自動試験まとめ(その1) - Taste of Tech Topics
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO
  • JUnit+Mockitoを使ったWebアプリケーションの単体テスト

    自動テストを導入することにより、テストケースの作り方を統一でき、網羅できます。全体を自動テストにできれば、変更部分以外の障害を防止できます。そして、テスト作業がコーディング作業になることによって、楽しくなるでしょう。実際のプロジェクトに導入するにあたってはいくつかの課題がありますが、自動テスト用のテストデータをあらかじめ用意しておくこと、DbUnitMockito・djUnitを使うことで解決できます。 対象読者 今回の対象読者は、下記のとおりです。 実際の開発プロジェクトへの自動テストの導入を検討されている方 JavaによるWebアプリケーション開発についての知識がある方 JUnitの基的な知識がある方 必要な環境 JDK 7 Eclipse 4.3 Tomcat 7 自動テスト導入における課題 JUnitの使い方は簡単なので、試しに使ってみたという方は多いと思います。しかし実際に業

    JUnit+Mockitoを使ったWebアプリケーションの単体テスト
  • ドキュメントベースの単体テストでxUnitを導入する前に考えて欲しいこと | Developers.IO

    ドキュメントベースの単体テスト ソフトウェア開発では、テストケースをExcel等で管理し、テストをテストフェイズで実施する方式(以下、ドキュメントベースの単体テスト)が行われてきました。 ドキュメントベースの単体テストでは、テストフェーズが明確に切られています。テストフェーズでは、テスト担当者がテストを実施し、結果をドキュメントに記録します。必要に応じてエビデンスも残すでしょう。もし、テストが失敗したならば、不具合管理票(バグ票)を起票します。そして、不具合の原因を分析し、仕様書やソースコードを修正します。不具合が修正されたならば、もう一度テストを実行し、不具合がなくなるまでこのサイクルを繰り返し、品質を高めていきます。 このようなドキュメントベースの単体テストは、機能や画面を対象としています。そして、ほとんどの場合は品質保証を目的としています。テスト件数や不具合件数、不具合の発生原因や修

    ドキュメントベースの単体テストでxUnitを導入する前に考えて欲しいこと | Developers.IO
  • テストケースを動的に生成してJUnitで実行する | DevelopersIO

    AWSチームに参画して2ヶ月ほど経ちました。ところが、AWSの構築などにはあまり関わらず、ひたすらAWSに関連するプロダクトの開発を行う毎日です。そんな折、ボスより次のようなリクエストをいただきました。 ユーザが参照できない情報について、参照できないことを検証して欲しい ・・・「出来ないことの検証」です。 「出来ることの検証」であれば、その例をテストケースとして記述してテストを実行すれば検証出来ます。しかし、出来ないことを証明することは非常に困難です。ただ、情報は有限なんで、総当たりにでもやればできるかもしれません。 !? システムのインフラは当然のようにAWSです。テストのためのリソースが足りなければ増やせばいいじゃないですか。時間がかかるならば並列化すればいいじゃないですか。テストの時だけ増やせばいいんです。 ならば、総当たりでテストしよう という方針になりました。そして、ブログのネタ

    テストケースを動的に生成してJUnitで実行する | DevelopersIO
  • 関ジャバでJUnitな話をしたので #kanjava #junitbook - 日々常々

    関西Javaエンジニアの会'13 7月度 - connpass 関西Javaエンジニアの会'13 7月度を7月31日に開催しました。6月に続いて二ヶ月連続ですね。三ヶ月連続は無いので心配しないでくだ……あ、8月にはJavaEEと言うかGlassFishと言うか、あれがありますね!(「関ジャバのイベント」ではありませんが。) Java EE 7 & GlassFish について語ろう - DevLOVE関西 | Doorkeeper 今回の関ジャバは@jyukutyoさんのindy、@chipstar_lightさんのDDD、2連続となる@haljikさんのパズラー、あと私のコレでした。 スライド スライドあげておきます。内容の詳細は……結局このブログへのリンクになるので、中で触れてるのもあわせてリンク並べておくことで代替。 JUnitの知識を棚卸し #JJUG - 日々常々 assertT

    関ジャバでJUnitな話をしたので #kanjava #junitbook - 日々常々
  • 『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) を開催してきた #junitbook - Diary of absj31

    『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) - connpass 2013/05/12 『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook - Togetter 前回まででこちらの書籍でのイベント開催は計5回を数えておりました。書籍の進みとしても終盤を迎えつつあるので、いずれどこかで著者を招いて集大成的なイベントを…というのは朧気ながら考えてはいたものの、これと言って明確なプラン等はまだ立てておりませんでした。 …がしかし!まさかの展開で今回の『特別編』が開催される事が決まり、この日(5/12)朝から夜まで丸一日費やして、ひっじょ〜に濃い〜内容で勉強会を実施出来ました。 特別編開催までの経緯 …まぁ、1つは著者の渡辺さんが5/11にJJUG関連イベントに参加の為東京に来られており、ちょうどこの日(5/12:日)が空いてるのでこんな感

    『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) を開催してきた #junitbook - Diary of absj31
  • 1