Javaでテスト書くときのstatic import
仕事やめたり復職したりしてました。
ところでJavaでユニットテスト書くときにstatic importを多用するのですが、 IntelliJ使うことにしたのですが、static importEclipseと違ってうまく補完してくれませんしorganize importとかしてると、使ってない隙を突いて消してしまうので、LiveTemplateに以下を保存。
import static org.junit.Assert.*; import static org.hamcrest.Matchers.*; import static org.mockito.Mockito.*;
import static org.junit.Assert.*;
assert***
とかfail
がここに入ってる。
assertThat
も最近のJUnitならこっちに入ってるので、hamcrestのMatcherAssert
はインポート不要。
import static org.hamcrest.Matchers.*;
JUnitに含まれているorg.hamcrest.CoreMatchers
と違って、hamcrestの全部入ってる版を入れないといけないが、
入ってるならMatchersはCoreMathcersのスーパーセットなので、こっちでよい。
import static org.mockito.Mockito.*;
Mockitoのverifyとかwhenとかはここ。
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.ArgumentMatchers.*;
Mockitoのany
とかがここ。org.mockito.Matchers
はdeprecatedとなり、これを使うのが正しいようだ。
ArgumentMatchersはMockito2から。そしてMockitoがArgumentMatchersを継承しているので、これは要らない。