2022-11-01から1ヶ月間の記事一覧

Java11 HttpClient SSL サンプル

サンプルといっても完成形ではないが。。。 import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.net.http.HttpClient; import java.securit…

XStream を使う

XML読み書き、Java Object との相互変換に何を使う?で問われてだいたいは、JAXB を挙げる。 他の選択肢は?で XStream を挙げてくれる人は少ない。 5年前に、XStream を知ってその頃は、あまり活発でなかった。しばらく触れる機会がなかったが、 2022年1…

Guice Injector の mock

モックインスタンスを guice でインジェクションさせるパターンは、ネット検索すれば、 たくさん見つかる。 しかし、Injector の生成メソッド Guice#createInjector をモックしてテスト用の Injector を生成させるパターンは 見たことがない。 MockedStatic …

Objects.requireNonNull

安易というかまだまだ、if 文で null かどうかをチェックすることが多い Objects.requireNonNull で、NullPointerException を発生させるスタイルは なぜか、あまり見ない。もっと使えば良いと思うのだが。。。java.util.Objects public static T requireNon…

hamcrest-json のチェック処理メソッドを使いやすくする

hamcrest-json を JUnit 以外で使用する - Oboe吹きプログラマの黙示録 と、書いたがもっと実践的なものにする。Maven pom.xml に追加する <dependency> <groupId>uk.co.datumedge</groupId> <artifactId>hamcrest-json</artifactId> <version>0.2</version> </dependency> AssertionError を捕まえてエラーメッセージを、ラムダ(Consumer)で処理する…

hamcrest-json を JUnit 以外で使用する

2つのJSONを比較するのに、JUnit だけで使用するのはもったいないと思った。 <dependency> <groupId>uk.co.datumedge</groupId> <artifactId>hamcrest-json</artifactId> <version>0.2</version> </dependency> このようにテストスコープを外して使用 安易であるが比較メソッドも以下のように用意する。 import org.hamcrest.MatcherAssert; import uk…

InputStream から読み取って String

ほとんど多くの現場で、ほぼ同じコードを書くことが多くて 煩わしいと思ったので、メモ。ByteArrayOutputStream を使うのがいいのか?それとも BufferedReader を使うのが いいのか?迷うところではある。ByteArrayOutputStream を使う // InputStream → toS…

okhttp の MockWebServer で指定する Dispatcher でリクエストカウントを参照

oboe2uran.hatenablog.comvoid okhttp3.mockwebserver.MockWebServer.enqueue(@NotNull MockResponse response) は、キューとして応答レスポンスを登録するので返す順番にこれを呼べばよかった。Dispatcher の方法で、リクエストカウントを判断したい MockWe…

JUnit JSON を検証したい

JUnit テストで生成されるJSON を期待値 JSONテキストと比較して検証したい。 hamcrest-json というのを使うとできる。Hamcrest Related Projects ここから、 GitHub - hertzsprung/hamcrest-json: Hamcrest matchers for comparing JSON documents を辿ると…

JUnit 実行で、ログファイルをテストケース毎に保存させる。

org.junit.rules.TestName から実行時のテストケースメソッド名を取得して メソッド名のディレクトリにログ出力をテストケース単位にログファイルとして保存します。SL4J + log4j2 を使用している場合と、SL4J + logback を使用している場合、 各々退避方法…