「Camel in action」の本で、次のテスト例を見つけました。
@Test
public void testMoveFile() throws Exception {
// create a new file in the inbox folder with the name hello.txt and containing Hello World as body
template.sendBodyAndHeader("file://target/inbox", "Hello World", Exchange.FILE_NAME, "hello.txt");
// wait a while to let the file be moved
Thread.sleep(2000);
// test the file was moved
File target = new File("target/outbox/hello.txt");
assertTrue("File should have been moved", target.exists());
// test that its content is correct as well
String content = context.getTypeConverter().convertTo(String.class, target);
assertEquals("Hello World", content);
}
明らかにこれは統合テストです。複数のユニットをテストしますが、
- そのようなテスト (Thread.sleep を使用) は良い習慣と見なされますか?
- 統合テストアプローチを残して、もっとうまくやることはできますか?