タグ

Javaとtestに関するegghourのブックマーク (17)

  • JUnit4.7 の新機能 Rules とは - A Memorandum

    Rules とは JUnit4.7から@Ruleアノテーションが追加されました。@Ruleアノテーションは、org.junit.rules.MethodRuleインターフェースのサブクラスによって定義された振る舞いをテストメソッドに追加します。 MethodRuleの組み込み実装クラス MethodRuleの具象クラスとして、以下のクラスが提供されています。 MethodRule ├ Verifier : オブジェクトの状態が不正な場合にテストを失敗させる │ └ ErrorCollector : 1つのテストメソッドの複数のエラーを集集する ├ ExpectedException : スローされた例外について柔軟なアサーションを行う ├ ExternalResource : サーバの起動停止などの外部リソースの操作を行う │ └ TemporaryFolder: テストメソッド前に一時フ

    JUnit4.7 の新機能 Rules とは - A Memorandum
  • Googleが開発したJavaデバッグを簡単にする新技術「cofoja」 | エンタープライズ | マイコミジャーナル

    Java Programming Language Googleの20%プロジェクトからJava向けの新しい技術「cofoja (Contracts for Java)」が公開された。既存の実装に大きく手を加えることなく、デバッグをより簡単にしてくれる効果が期待できる。バグは些細なコードが起こすものだったりするが、それを追跡して発見するのは時に困難を極める。これは問題が発生した箇所と、実際にバグがある箇所が大きく離れていることが理由になっていることもある。問題発生箇所とバグ発生箇所を近くにまとめることができれば、それだけバグ発見も取り組みやすくなる。 cofojaはこれを簡単に実現するための技術。インタフェースに制約表現を追加可能にするところがポイントとなっており、クラスの実装に手を加えなくてもインタフェースに制約表記を追加することで実行時にチェックできるようになる。ブログに掲載されている

  • AJDTを使って規約違反のコードを検出する方法 - 達人プログラマーを目指して

    AspectJというと、メソッドなどに処理を織り込むAOPのイメージが強いと思いますが、AJDTというeclipseのプラグインを使うと強力なコード検証ツールとして利用できることは意外と知られていないようです。(AJDTはSpring Tool Suiteには最初から内蔵されています。) 実際、 コントローラークラスのメソッド内でフィールドの設定を行う サービス層を経由せずに直接DAOを呼び出している 日付オブジェクトを直接newしている*1 などの箇所をコンパイル時に検証して、警告やエラーとして検出できます。 たとえば、Spring MVCのコントローラークラスのメソッド内でフィールドの設定を行っている箇所を警告として検出するには以下のようなアスペクトを書くだけです。 package sample.mvc; import org.springframework.stereotype.Co

    AJDTを使って規約違反のコードを検出する方法 - 達人プログラマーを目指して
  • Life with Cygwin

    沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。

  • Java 暗号化拡張機能 JDK5.0

    Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.

  • ScalaTest

    Latest Release - ScalaTest and Scalactic 3.2.19! import collection.mutable.Stack import org.scalatest._ import flatspec._ import matchers._ class ExampleSpec extends AnyFlatSpec with should.Matchers { "A Stack" should "pop values in last-in-first-out order" in { val stack = new Stack[Int] stack.push(1) stack.push(2) stack.pop() should be (2) stack.pop() should be (1) } it should "throw NoSuchEleme

  • 【ハウツー】速攻解説! JUnit 4.4 - 前提条件をAssumeで表現、実験的アサーションTheory | エンタープライズ | マイコミジャーナル

    「速攻解説! JUnit 4.4 - 新アサーションメソッド『assertThat』の用途とは」で触れたとおり、JUnit 4.4では新しいアサーションメソッドとしてassertThatが導入されたわけだが、同じく新たに導入されたAssumeクラスを併用すると処理の「前提条件」を表現することもできる。また同様の処理の拡張的な使い方になるが、JUnit 4.4では「Theory」という概念が導入されている点も興味深い。稿では、その2つの機能について紹介したい。 Assume.assumeThatで実行環境の「前提条件」を表現 テストコードを作成してユニットテストをクリアしたのにもかかわらず、アプリケーションを他の環境に移した途端に問題が現れるというのは実によくある話だ。これはユニットテストコードを作成したデベロッパが暗黙の前提として仮定しているものが、自分の開発環境とほかの環境とでい違っ

  • JUnit/FindBugs/PMDなどを総観できるQALab/Limy

    便利なEclipseプラグイン集「Limy」とは 「Limy」というEclipseプラグインをご存じでしょうか。これは、コード支援機能やプロジェクトの品質管理機能、プロパティエディタやVelocityテンプレートエディタなどが含まれている便利なEclipseプラグイン集です。 今回は、Limy Eclipseプラグインに統合されているソフトウェアの品質レポートを生成する「QALab」の機能を利用したソフトウェア品質管理やLimy EclipseプラグインのQALab実行機能について紹介します。 ■さまざまな品質管理機能を一括実行/総観できる「QALab」 Javaで品質管理を行うツールとして、さまざまなツールが提供されていますが、それらを利用するには1つずつセットアップする必要があり面倒です。 ObjectLABにより開発されるQALabを利用すると、さまざまな品質管理ツールを一括して実行

    JUnit/FindBugs/PMDなどを総観できるQALab/Limy
  • @IT:明日からできるプロジェクト管理(4) - 単体テストの品質をチェックするには

    明日からできるプロジェクト管理(4) 単体テストの品質をチェックするには 1page|2page|3page 高野敦 2006/1/12 実装・単体テストの品質をうまくチェックするにはどうすればいいのだろうか。稿ではまず品質の考え方を概観し、その後、チェックを現実化するツールを紹介していく(@IT編集部) プロジェクトマネージャ(=PM)の石出さんは今日も悩んでいます。 石出さん談――。 今度のプロジェクトは実装・単体テストを一括発注することになった。でも一括発注だとどのように品質をチェックしたらいいのだろう。いつものように目の前で作業をしてくれれば分かるんだけれど……。 なるほど、石出さんは実装・単体テストの品質に関して悩んでいるようです。 ◆ 品質の考え方 品質には大きく分けて2つの考え方があります。製品(システム)そのものの品質と製品を作成するプロセス(作り方)の品質です。前者は、

  • 第7回 オープンソースの自動化テストツール「Jameleon」の概要

    第7回 オープンソースの自動化テストツール「Jameleon」の概要:理論的、計画的なWebアプリケーションのテストの実現(1/2 ページ) この連載では、さまざまなテストプロセスがあることを説明してきた。今回は、自動化に向いている機能テストを考えつつ、それを実現するオープンソースのフレームワーク「Jameleon」を紹介しよう。 「テストの自動化」と聞いて、多くの人が真っ先に思い浮かべるのが、JUnitなどのxUnitを利用した単体テストだと思います。JUnitJavaの単体テストのフレームワークとして最も有名なもので、JUnitを利用することで、単体テストの自動化を簡単に実現できます。 すでに、この連載の中でさまざまなテストプロセスがあることを説明してきました。前回からかなり時間が経ってしまったので、これまでの連載を読み返し、テストプロセスの種類を再度確認してみるのもいいでしょう。

    第7回 オープンソースの自動化テストツール「Jameleon」の概要
  • 第8回 Jameleonを使ったテスト

    プロパティファイルは使用するプラグインやテスト実行に関する設定を記述するファイルです。通常はすでに存在する初期値のEnvironment.propertiesファイルをそのまま利用することで問題ありません。 Jameleonでは、次のようなテストを作成することができます。 JUnitプラグインを使ったホワイトボックスレベルのテスト。すべてのJUnitの機能タグはほかのプラグインの機能と一緒に利用可能 Jiffieプラグインを使ったIEベースのテスト。このテストはWindows環境でのみ実行可能 HtmlUnitプラグインを使ったブラウザベースのテスト。一部のJavaScriptsとXPathについてもサポートしている HTTPUnitプラグインを使ったブラウザベースのテスト。HtmlUnitプラグインではコンテンツベースでテストするのに対し、HTTPUnitではHTTPの通信ベース、つまり

    第8回 Jameleonを使ったテスト
  • JavaのバグをFindBugsで見つける

    はじめに FindBugsは、Javaコードのバグ検出のために設計されたオープンソースの静的分析ツールです。ただし、他の多くの静的分析ツールとは違って、アプリケーションを破壊する可能性がある危険なコーディングエラーを特定することに、ほぼ全力を傾けます。他の静的分析ツールでは検出できないような微妙なバグでも見つけることができます。 FindBugsは、コンパイル済みのJavaバイトコードを走査して、いわゆる「バグパターン」を探します。簡単にいうと、バグパターンとは、バグを生みやすいコーディング上の習慣のことです。バグパターンは、「人は(個人でも集団でも)同じ過ちを繰り返す傾向がある」という考え方に基づいています。人は習慣に従って行動する生き物であり、習慣は、たとえ有害なものでも、恒常的に繰り返されるのです。経験の浅い開発者が、経験豊富な開発者がまだ新人だった頃に犯したようなミスを犯すことも珍

    JavaのバグをFindBugsで見つける
  • JUnitより簡単なオープンソースの「TestNG」とは?

    JUnitより簡単なオープンソースの「TestNG」とは?:次世代テストフレームワークでテストを変える(1)(1/3 ページ) テスティングフレームワークといえば…… Javaエンジニアが「テスティングフレームワーク」という単語を聞いて、真っ先に連想するものは、「JUnit」でしょう。しかし、テスティングフレームワークはJUnitだけではありません。「TestNG」というテスティングフレームワークも海外では高く評価され、確固とした地位を築いています。例えば、JBoss SeamはTestNGをベースにした統合テストフレームワークを提供しています。 この連載ではTestNGのコンセプトから詳細な使い方まで解説し、開発プロジェクトにおいてTestNGを利用する際の助けとしていただくことが目的です。 連載第1回では、Javaエンジニアになじみ深いJUnitとTestNGを比較し、2つのフレームワ

    JUnitより簡単なオープンソースの「TestNG」とは?
  • Eclipseプラグイン コード品質のカイゼン(JUnit Factory)

    これはすごい!?コード品質のカイゼン化プラグイン2種:CoolなEclipseプラグイン(24)(1/3 ページ) ソフトウェアの品質と保守性を向上させるために、テストケースの作成は重要です。しかしながら、時間がない、面倒だなどの理由によりユニット(単体)テストが省略されることはしばしばあります。 また、ソフトウェアの修正や仕様変更を考慮すると、保守性の高い(分かりやすい/読みやすい)コードにする必要があります。 稿では、ソースコードからJUnitをベースとしたたテストケースを自動的に生成する「JUnit Factory」とコードの保守性の指標であるCRAP(Change Risk Anti Pattern)を計測する「Crap4j」をご紹介します。 テストケースを自動生成するJUnit Factoryとは? JUnit Factoryはソースコードからテストケースを自動生成し、しかも生

    Eclipseプラグイン コード品質のカイゼン(JUnit Factory)
  • EclEmmaは,djUnitと同じくカバレッジ計測プラグインです。

    株式会社DTS ネットワーク事業プロジェクトマネージャ。Javaを中心にフレームワーク開発や開発プロセス定義など幅広く活躍中。StrutsIDEコミッタ。著書「まるごとEclipse! Vol.1」(発行:インプレスコミュニケーションズ)。 昨今では,ますますテスト工程が重要視されるようになっています。品質の高いソフトウエアを効率的に開発することが,保守・管理コストの低減につながり,最終的なコスト削減を生むからです。 単体テスト工程では,「JUnit」フレームワークがデファクト・スタンダードです。これにより,効率的にテスト・ケース(テスト用のコードを書いたクラス)を作成し,何度でも繰り返し実行できます。単体テストを何度でも繰り返し実行できることは,短期開発で高品質を保つためには欠かせない要素です。 しかし,このようにJUnitフレームワークが品質向上に大きく貢献している半面,カバレッ

    EclEmmaは,djUnitと同じくカバレッジ計測プラグインです。
    egghour
    egghour 2008/01/26
    単体テストの網羅率が分かる djUnit プラグイン
  • 500万行のソースコードを一晩で解析できるソフト - @IT

    2007/04/18 ソースコードの静的解析ツールを提供する米コベリティは4月18日、自動車業界に強い販売会社である豊通エレクトロニクスとパートナーシップを締結し、日市場において格的に販売活動を開始すると発表した。2007年9月には東京に日法人を設立する予定だ。 コベリティは、米スタンフォード大学の研究チームが開発した技術をベースとしたソースコード解析ツール。コンパイル時にソースコードを静的に解析することで、プログラムの不具合やセキュリティ脆弱性を発見できる。対応するプログラムはC、C++Javaの3種類。すでにワールドワイドでは235社に採用されており、日ではNTTドコモなど、20社で利用されているという。 コベリティの解析ツールは、コンパイル時にこれらの問題を検出するため、ソースコードの実行やテストケースは必要ない。テスト環境が不要なので、従来テストに費やしていたコストや時間

  • @IT:CoolなEclipseプラグイン(2)

    今回は、ソフトウェアのレビュー/テスト/デバッグを助け、ソフトウェアの品質向上に役立つプラグインを紹介しましょう。バグの存在する可能性があるコードを指摘するFindBugs、カバレッジによりユニットテストの網羅性を検証するdjUnit、スレッドの問題の検出を助けるEnerjy Thread Profilerの3プラグインです。 1.FindBugs プログラムのバグ検出の手段として、プログラムを動作させずにバグを検出する静的解析があります。Eclipseも簡単な静的解析機能を備えています。コード中で初期化されないオブジェクトを参照する機能や、depricateなメソッドを利用した場合など、推奨されないコードを書くと黄色でランプマークを表示する機能などです。 FindBugsプラグインは、Eclipseの標準機能以上に強力な静的解析の機能を提供します。ある特定のコードパターンにマッチする部分

    @IT:CoolなEclipseプラグイン(2)
  • 1