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

JUnit mockito の return を遅らせたい(時間を掛けたい)

変なテスト要求仕様であるし、こんなこと通常しないかもしれないが、リターン値を when で書くメソッドの引数の条件以外の条件で分岐させる時に応用できるかもしれない。通常、String 1個の引数メソッドのモック Mockito.when(テスト対象Class.メソッド(Mock…

JUnit 実行用の log4j2 設定を指定する

JUnit テストケースコードで、log4j2 の log4j.configurationFile 属性を書きかえれば良い。 以前、 oboe2uran.hatenablog.com を書いて悩んだが、 開発 IDE を Eclipseを使っているのであれば、、 test/resources/ の下に、JUnit で実行する時のための log4…

JUnit で、実行中のメソッド名を取得

JUnit で、@Before 付与したテストケースの前に動くメソッド内で、 これからテスト実行するテストケースメソッド名を取得する。JUnit で、@After付与したテストケースの後に動くメソッド内で、 テスト実行したテストケースメソッド名を取得する。 という場合…

スレッドプールの状況

先日書いたサンプル、 oboe2uran.hatenablog.com のようなケースで、待ち合わせ時にスレッドプールがどういう状況かを知りたい場合がある。単純であるが、Executors.newFixedThreadPool で作成したものを ThreadPoolExecutor でキャストすれば良い。 ThreadP…

JMockito を使う場合の注意

JUnit のモックは、org.mockito を使うことが多いのであろうか。 mockito-core と、mockito-inline を Maven pom.xml で依存関係を指定して使ったりする。 Mockito.when(~メソッド実行).thenReturn(リターン値); などを良く書いていたものだ。JMockito の書…

CompletableFuture を使って生成した複数スレッドを待ち合わせる。

Runnbale のタスクと Future のタスク、それぞれのサンプルコードを書いてみた。 以下、どちらもそうなのだが、 CompletableFuture の allOf メソッドが可変長引数で、リスト等のコレクションを指定できないので、 しかたなく、toArray(CompletableFuture[]:…

Docker複数イメージを1つのイメージに、

ネット検索するといろいろと出てくると思うが、要は、Docker ファイルの記述で、COPY --from=0 転送元 .あるいは、FROM as で名称を付けた名前でCOPY --from=名前 転送元 . を書くことである。 具体的に、Docker ファイルを、、 FROM amazoncorretto:11 as j…

Java からシェルを実行

昔、Process を作成して動かすものを、yipuran-core に載せてあるが、近々、削除して 書き直そうと思っている。 以下のように、標準出力も標準エラー出力も区別なく結果として取得した方が 良いのではないかと。。。 public class ScriptExecutor{ private M…

例外捕捉で原因を掘り下げて処理をする場合

Throwable の getCause() で null にならないまで参照していく方法になり、 ネット検索すると腐るほどサンプルコードが出てくるだろう。。 while ループを良く見かけるが、個人的には、for文ループの方が良いと思っている。 }catch(Exception e){ for(Throwa…

AWS Batch をJavaプログラムから起動

AWS SDK for Java を使う <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-batch</artifactId> <version>1.12.295</version> </dependency> AWSBatchClientBuilder で AWSBatch クライアントを生成する。 SubmitJobRequest JOBリクエストとして、JOB送信名、JOBキュー、JOB定義名を指定して用意し AWSBatch クライアントで、…

Jackson @JsonProperty による必須チェック

Jackson による JSON → Java Objectで、JSON 側に対象フィールドキーが存在しない時 エラーにする方法、 @JsonProperty(required=true) を付ければ良いと思っていた。。。 import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; @Data…