IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
EMMAとは Javaのカバレッジ測定ツール。On-the-flyモードとofflineモードの二つを持つ(詳細は後述)。 ダウンロードは以下から。 今回試したバージョンは2.0系 Eclipseプラグインとして、EclEmmaというプラグインも公開されている。 On-the-FlyモードとOfflineモード 簡単に言うと、OnTheFlyはファイルそのまま実行可能で、 Offlineモードは一旦既存のコードにEmmaのカバレッジ用のコードを埋め込んだファイルを吐き出した後に再実行が必要。 詳細は公式サイトの説明(英語)を見るべし。(概要はイントロに書いてある。) EMMA+JUnitをAntで実行するためには EMMA自体はJUnit自体に特別に対応しているわけではないので、 JUnit実行時にJUnitのパラメータであるjvmargを利用して引数を渡す必要がある。 なぜ、JUnitに
株式会社DTS ネットワーク事業本部 プロジェクトマネージャ。Javaを中心にフレームワーク開発や開発プロセス定義など幅広く活躍中。StrutsIDEコミッタ。著書「まるごとEclipse! Vol.1」(発行:インプレスコミュニケーションズ)。 昨今では,ますますテスト工程が重要視されるようになっています。品質の高いソフトウエアを効率的に開発することが,保守・管理コストの低減につながり,最終的なコスト削減を生むからです。 単体テスト工程では,「JUnit」フレームワークがデファクト・スタンダードです。これにより,効率的にテスト・ケース(テスト用のコードを書いたクラス)を作成し,何度でも繰り返し実行できます。単体テストを何度でも繰り返し実行できることは,短期開発で高品質を保つためには欠かせない要素です。 しかし,このようにJUnitフレームワークが品質向上に大きく貢献している半面,カバレッ
Overview EclEmma is a free Java code coverage tool for Eclipse, available under the Eclipse Public License. It brings code coverage analysis directly into the Eclipse workbench: Fast develop/test cycle: Launches from within the workbench like JUnit test runs can directly be analyzed for code coverage. Rich coverage analysis: Coverage results are immediately summarized and highlighted in the Java s
Google AppEngineではBigtableの上にDatastore Serviceが構築されていて、開発者は、このDatastore Serviceを利用してBigtableにアクセスすることになります。このDatastore ServiceはPython版もJava版も機能はほとんど同じです。もしかすると、全く同じものかもしれません。 GAE/Jの場合、JDOを通じて、Datastore Serviceを利用するのが推奨されていますが、実はこれが嵌りポイント。 JDOは汎用的なインターフェースなので、Datastore Serviceを理解するのには向いていません。Datastore ServiceがRDBMSのような高機能なら、JDOを通じて抽象化し、Datastore Serviceのことは知らなくても済すのもぜんぜんありなのですが、残念ながら、そうなってはいません。 Da
バグ修正はプログラマの仕事の一つですが、このうちのかなりの時間は問題を再現することに費やされます。 症状からバグの全容が推察できる時もあるのですが、多くの場合には、手元で問題を再現し、更なるデータを集めることによって始めてバグが理解されるからです。しかし、環境に依存する問題などは再現が難しい場合もあります。どうしたらよいでしょうか。 ロギングというのがよく行われる解決・予防策ですが、「デバッガを走らせて変数xの値を教えてくれればいいのに!」と思った事があるのは私だけではないと思います。ロギングと異なり、デバッガは予めプログラムに障害発生を予期するコードを埋め込んでおく必要はありません。また、呼び出し元のローカル変数をアクセスしたり、任意の式を評価したり、あるいは変数の値を変更することもできてしまいます。当たり前ですが、障害分析ツールとしてはデバッガはずっと強力だからです。 ではなぜユーザー
XMLプログラミングでは、DOMやSAXといったAPIを使用すると単調なコードを繰り返し書くことになり生産性が上がらないものだ。本連載では開発者が“楽をする”ために役立つXML関連ツールを紹介していく。(編集局) 前回のJAXBに引き続き、XMLモデルからオブジェクトモデルへのマッピングを行う、データバインディングツールを紹介します。今回、取り上げるのはCastorです。 CastorはExolab Groupが開発したオープンソースのデータバインディングツールで、無償で利用できます。この分野では最もよく使われているツールといえるでしょう。また、CastorはXML-オブジェクト間のマッピングだけではなく、SQLやLDAPとオブジェクトのマッピングにも対応しています。今回の記事ではSQL/LADPは取り上げませんが、このようなところまでカバーしている多機能な点も人気の一因のようです。 現在
ソフトウエアがXML出力を作成する場合には、多くの根拠があります。XML文書は異なるアプリケーション間のデータ交換のために使われますし、webアプリケーションはわずかなXMLスニペットを使って(X)HTML出力を作成したりAJAXリクエストに答えたりします。XMLが生成されるところには多くの利用ケースがあるので、その出力は他のアプリケーションの部分と同様にテストされるべきなのです。 生成されたXMLをテストするには幾つかの方法があります。その各々が分離して使用される際のフローを持っています。 例えば、下記のようなことができます。 生成されたXMLがDTDに対して、またXMLスキーマや、或いは他の文法的代替物に対して正当であると確認することができます。残念なことに、このような文法はいつも文書中に存在するとは限りませんし、もしあったとしても、どのテストも出力の構造のみをテストするだけで、その内
For those of you who've got into it you'll know that test driven development is great. It gives you the confidence to change code safe in the knowledge that if something breaks you'll know about it. Except for those bits you don't know how to test. Until now XML has been one of them. Oh sure you can use "<stuff></stuff>".equals("<stuff></stuff>"); but is that really gonna work when some joker deci
Hadoop Distributed File System (HDFS) Java tutorial. This Java tutorial contains examples and Java code on how to create, rename, delete and do much more on Hadoop Distributed File System using the Haddop Java API. Copy a file from the local file system to HDFS The srcFile variable needs to contain the full name (path + file name) of the file in the local file system. The dstFile variable needs to
「Javaでデバッガがブレークポイントで止まらない」現象に僕の周りでハマってる人が割といました。まぁ、Eclipse以外でもそうだと思うのですが、とりあえずEclipse環境で。 で、twitterなどで教えてもらったのですが、 sun の jdk の 1.6.0_14 〜 15 で デバッグの問題 Java ™ Virtual Machine Tool Interface (JVM TI) のブレークポイントは、並列スカベンジガベージコレクタ (-XX:+UseParallelGC) または並列圧縮ガベージコレクタ (-XX:+UseParallelOldGC) が使用されている場合のみ信頼できます。 というリリースノートが。 http://java.sun.com/javase/ja/6/webnotes/6u15.html というわけで、デバッガ起動時にこのオプションを付けてあげれば
Rules とは JUnit4.7から@Ruleアノテーションが追加されました。@Ruleアノテーションは、org.junit.rules.MethodRuleインターフェースのサブクラスによって定義された振る舞いをテストメソッドに追加します。 MethodRuleの組み込み実装クラス MethodRuleの具象クラスとして、以下のクラスが提供されています。 MethodRule ├ Verifier : オブジェクトの状態が不正な場合にテストを失敗させる │ └ ErrorCollector : 1つのテストメソッドの複数のエラーを集集する ├ ExpectedException : スローされた例外について柔軟なアサーションを行う ├ ExternalResource : サーバの起動停止などの外部リソースの操作を行う │ └ TemporaryFolder: テストメソッド前に一時フ
ちゃんと理解してなかった無名クラスについて調べたので忘れた時用のメモです。 記述方法 new インタフェース型 () { メソッドの実装 } または new 抽象クラス型 () { メソッドの実装 } または new クラス型 () { オーバーライドしたいメソッドの実装 } 注意点 インタフェースまた抽象クラスの場合は抽象メソッドを全て実装しないとエラーとなる。 クラス型の場合は final でない、かつ可視なクラスでないといけない。 2つ以上のメソッドを実装したり、1つのメソッドでも処理が多かったりするならば使用を考えた方がいい。 無名クラス内の実装したメソッドからメソッド外の変数を参照する場合には下記のような注意が必要。*1 public class Hoge { //クラス変数 private static String str1 = "static"; //インスタンス変数 pr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く