サーウ:
私は、オブジェクトを構築し、それを返すメソッドを持っています。
その分野の一つとして、UUIDなどのオブジェクト。オブジェクトを構築しながら、ランダムなUUIDが生成されます。ここでは、コードは次のようになります。
public MetaData getMetaData(String id) {
return MetaData.newBuilder().setId(id)
.setCorrelationId(UUID.randomUUID().toString())
.setCreatedAt(now(UTC).format(ISO_ZONED_DATE_TIME))
.build();
}
ここに私のテストでは、次のとおりです。
@Test
public void shouldVerifyIfTheMetaDataIsBuild() {
MetaData metaData = handler.getMetaData("1234");
assertThat(metaData.getId(), is("1234"));
assertThat(metaData.getCorrelationId(), isNotNull());
}
場合、私はちょうど検証してるcorrelationId
nullではありませんか。確認するためのより良い方法はありますかUUID
?
GhostCat敬礼モニカC.:
現在の生産コードを検証する唯一の方法は、はい、CorrelationIDがnullでないことを確認することです。また、予想される文字列のレイアウトが有効なUUID文字列と一致していることを確認できました。
あなたがより良いチェックのビットにしたいときもちろん、あなたは単純に交換する必要がありUUID.randomUUID().toString()
、あなたができることを何かで制御します。
たとえば、あなたが作成することができますUUIDGenerator
作成するデフォルトの方法で、インタフェースをランダムあなたのコードに示すように、UUIDを。しかし、あなたのテストのセットアップでは、あなたの代わりに返すインタフェースの実装を提供特定の UUIDを。
次に、あなたのテストコードは、可能性が知っている UUIDが使用されるべきである、とassertThat(actualUuid, is(expectedUuid))
。