Java

JUnitでTheoriesを使った大量のパラメータのテストで失敗した箇所があったとき(Eclipseで)少しわかりやすくする

タイトル通りです。コードから読み取ってください。※タイトルが少し正しくなかったので直しました

JJUG CCC 2014 Fallいってきた

ジャバで単体テストを書くにはどうしたらいいんや!と未だに悩んでる私ですこんばんわ。 仕事は仕様が固まらず&不明点が山盛りに対し、リリースが決まってる状態で辛いです。JJUG CCC 2014 Fallにいったので思ったこととかをメモ。でも1日経ったせいでだいぶ…

JUnitで全テストで共通の前処理・後処理をしたい

「全テストで共通の処理をしたい」というのは結構ありました。 DBのクリーンアップとかセットアップをしたい テスト用のHTTPサーバを立ち上げて、テストによって適当な応答を返して欲しい あるログをtailしてテスト毎に出力されたログを記録して欲しい 一時…

Jarの中のJarを読みたい

MyApp.jar /META-INF MANIFEST.MF Hello.jar /myapp/example Hello.class Hello.properties といった構成で、MyApp.jar内のHello.jarが持っているHello.classとかpropertiesを読み出したい。

Jersey + Jetty + Gradle でWebアプリケーション作るための勉強してた

今回の目的は以下。 Jerseyの簡単なサンプルを書く(HelloWorld返すだけ) Jettyを組み込んで実行可能なwarにしたい(winstoneとかあるみたいだけど、Jettyで。) Mavenは嫌なのでGradleでやりたい Jerseyを触ろうと思ったけどライブラリどれが必要なのかわから…

WeakReferenceで開放されたものがReferenceQueueにすぐ入らない

WeakReferenceを作る時にReferenceQueueを渡して、System.gc();しても、すぐにReferenceQueueに入らないんだけど!って話をどっかで見たので。うまくいくときといかないときがあるときはスレッドを疑えってばっちゃが言ってた。Javaのバージョンは以下です。…

Javaとキャッシュの付き合い方で考えてた

キャッシュっていろんな意味があってアレだけど、ここでは「苦労して得た情報なんだから使いまわしたい」時に使うキャッシュということで。仕事でキャッシュ使ったほうがいいよなぁ、とぼんやり思ったので考えまとめるためにメモっとく。アルゴリズムの勉強…

外部リソースに依存したコードを外部リソースに依存しないようにテストしたいんだけど、どうしたらいいの

こんにちわ。テスト熱中症真っ盛りな自覚はありますが、それほどテストコードは書いてないプログラマーのクズです。今回はタイトルについて、ちょっとうまい方法が思いつかないのと、寝て起きたら忘れてしまうのを防ぐために自分の考えをメモします。(思いつ…

実行している範囲で実行に必要な依存しているJarファイルを調べたい

某OSSのプロダクトのあるライブラリの挙動がおかしい、と調査をしていたのだけど、 調査の経過の共有のためにSVNとかにあげてほしい、といわれた。しかし何も考えずwarに含まれていたjarをコピペしてclasspathを通して調査していた。 全部で50ファイル80MBぐ…

PatternとMatcherを使い、マッチングした内容を加味して置換を行いたい

良くやろうと思いついて書くけど、書くたびにドキュメント見に行くのがつらかったので記事にしておこう。単純な置換であれば、replaceAllとかで間に合うのですが、 なんちゃってテンプレートエンジンをPatternで作ろうとか思うと、マッチングした内容を加味…

VirtualExtensionMethodsと多重継承

JDK8から盛り込まれたVirtualExtensionMethods。 これで、インタフェースにデフォルトな実装を持つことが出来るようになる。 (Iterable.forEachなどに使ってる) ただ、これによって、1クラスに複数実装可能であるインタフェースは、複数の実装を持つといった…

Java Day Tokyo 2013 に行ってきた(書き途中)

帰ってきて寝て起きたら朝だった。聞いた内容をメモ帳(物理)からmarkdownチックに転写、置換。あれほどノートPC持ち込めと。メモ が汚くて読めない部分 から内容を思い出せない部分は自分の脳内補完で書いてるところがあるため、間違ってる箇所が多そう。。…

mockitoを試した

mockito http://code.google.com/p/mockito/ モックをお手軽に作れるライブラリ。 結構前からありますので情報もいっぱい出てますし、Exampleを見て書いてみると十分実用的なので使いたくなると思います。 早速試しましょう。

クラスのインナークラスのインナークラス

なんとなくインナークラスにインナークラスはかけないという先入観があったので確かめてみたらかける。 "$"を使ったクラス名も有効だけど、 インナークラスを識別するために「クラス$インナークラス」というclassファイルを作るので、 わざと重複させようと…

JUnitで例外メッセージのテストをするMatcherとRuleを書いたので

時代遅れ感漂う記事。 正規表現でマッチングを行うMatcher 例外メッセージのテストを行うためのRule 例外メッセージのテスト専用のMatcher を作ったので、備忘録程度に。 正しいかどうかは知らないけど、動いてるからOKとする。

JUnitのテストランナーをいじる

テストに何らかの拡張を作りこみたいとき、@Ruleアノテーションを使えばだいたいOKですが、 俺俺アノテーションを作ってそれをテストとして認識させたいんだ!!っていう稀有なニーズ(自己満足)に応えることもできます。 今回は、独自のアノテーションで定義…

Javassistで動的クラス生成

ClassPoolからgetして、 setNameで新しいクラス名を設定して、 toClassでClassオブジェクト作る。 package my; public interface SampleIF { String getSimpleClassName(); } package my; public class Sample implements SampleIF { public String getSimpl…

Javaの可変長引数とジェネリックスの裏技的な何か。

最近はJavaしか触ってないので。 参考 Javaの型推論Utilsクラス - yukobaのブログ (型推論とは言い切れない気がするけど。) Java変態文法最速マスター - プログラマーの脳みそ 4. 配列の辺り package my.sample; import static org.junit.Assert.assertEqual…