BullよりElk

洋服と食をこよなく愛するWebプログラマ。

Java

AssertJで流れるようなインターフェースでアサーションを書こう #1

みなさんユニットテスト書いてますか?アサーションライブラリは何を使ってますか?私は、Assert Jが好きで使ってます。AssertJは、Javaのアサーションライブラリで、主にAssertJ CoreとAssertJ SwingとAssertJ DBがあります。 今回は、AssertJ Coreについて…

ThymeleafでNumber.javaを継承したクラスをメッセージ式のパラメータとして渡すと千の位で区切ってくれる話

先日、仕事でThymeleafで千の位で区切って表示することをやりました。いわゆる金額表示です。 結論から述べると、以下のようにすると、実現できます。 ちなみにこれはたまたま発見できちゃいました。。。笑 最初は、次のように書いてました。 <p th:text="${#numbers.formatInteger(1234567890, 3, 'COMMA')} + '円'">1,234,567,890円</p>…

ThymeleafとJSPを共存させた話

転職して、JSPを使っている会社に入りました。今どきJSPはないだろ!っていうことでThymeleafと共存させることにしました。 プロジェクト構成は、こんな感じです。 JavaCofigでBean定義を行うプロジェクト構成 xmlでBean定義を行うプロジェクト構成 では、さ…

バブルソート

バブルソートは最も単純な整列法です。 バブルソートのアルゴリズム 配列の末尾から先頭に向かって隣り合う要素を比較する 後ろの要素が前の要素よりも小さければ交換する 1と2を繰り返す 以下が、バブルソートのJavaプログラムです。 import java.util.Arra…

Spring Actuatorが誰でもみれなくなっちゃったの巻

Spring Actuatorで登録されてるBeanをみようと思って、pom.xmlにSpring Actuatorを追加しました。(以下参照) Versionはご自由にどうぞ! <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>1.5.1.RELEASE</version> </dependency>そして「http://localhost:8080/beans」に…

Java標準ライブラリを学ぶ #1

Javaエンジニア養成読本を読んで気になったところをまとめていこうと思います。今回は第4章。 文字列を扱う 文字列を比較するときに気をつけること 「==」は使用できない Stringクラスはnew演算子でインスタンスを生成することが稀なため、インスタンスの識…

ユニットテストのナレッジ #1

1ヶ月ぶりに更新します。今年はもっとインプットを増やしてアウトプットも増やしていこうと思います!まずテスト対象クラスはこちらのShopService.java @Service public class ShopService { @Autowired private ShopRepository shopRepository; public Sho…

PrivateメソッドとPrivateフィールドのユニットテスト

表題の通り、備忘録として。Target.java(テスト対象クラス) public class Target { private String str = "test"; public String getStr() { return this.str; } private String thisIsPrivateMethod(Integer number) { return number == 1 ? "One" : "Oth…

JMockitを使ってprivateメソッドをモックにしてみた話

ユニットテスト書いてて、関係ないprivateメソッド通りたくないな〜と思ってググってたらJMockitなるすばらしいものがあったので忘れないうちに!まず、 Maven Repository: org.jmockit » jmockitからpom.xmlにjMockitを追加! <dependency> <groupId>org.jmockit</groupId> <artifactId>jmockit</artifactId> <version>1.30</version> </dependency> J…

クライアントとサーバの通信の流れを見てみよう!

入社当時Webの勉強のためにWebサーバ作っていたのですが、まだできておらずWebの理解を深めなきゃという気持ちで再び取り組みはじめました。 今回は、サーバとクライアントの通信がどのように行われているのかについて書きます。まず、クライアントとサーバ…

ThymeleafでformのList<Object>フィールドに値をいれるのにはまった話

仕事しててすごくハマった話。 type="hidden"でListの指定したインデックス番号のidに値をつっこもうと思ったとき、以下のようにするとうまくpostできました。 BookForm.java @Getter @Setter public class BookForm implements Serializable { private List<Detail></detail>…