【JUnit】trailing white space will be removedの原因は何?Json
“trailing white space will be removed”という警告は、JUnitのテストケース内で、content().json(“””を使用している際に発生することが多いです
例に挙げると、以下のようなJUnitを実装したら発生することがあります
コントローラクラスのテストになります
mockMvc.perform(get("/api/data"))
.andExpect(status().isOk())
.andExpect(content().contentType(MediaType.APPLICATION_JSON))
.andExpect(content().json("""
{
"key": "value"
}""")
ダブルクォーテーション(またはシングルクォーテーション)が3つ並ぶ行の始まりや終わりに空白文字(スペース)があると、その空白も文字列に含まれることになります
content().json("""
{
"key": "value"
}
""")
上記の例では、”””の前後にスペースがあります。このスペースも文字列に含まれ、JSONの構文エラーの原因となります
こういうのもエラーになることがあります
content().json("""
{
"key": "value"
}""")
この問題を解決するためには、ダブルクォーテーションの前後にスペースがないように注意してください。例えば、次のように書き換えることで警告を取り除くことができます
content().json("""
{
"key": "value"
}
""")
もしくは以下のように一行で表現することもできます
content().json("""{"key": "value"}""")
解決できましたか?
是非フォローしてください
最新の情報をお伝えします