私はSpringブートプロジェクトのユニットテストでhoverflyを使用しています。ユニットテストでHoverflyシミュレーションモードがSpring Cloud Config Serverと矛盾します
背景
春ブーツプロジェクトは、春の雲の設定サーバーからその設定(など接続タイムアウトを)つかむだろう。 タイムアウト設定が機能するかどうかをテストするには、単体テストを書いて、ホバリングが長い遅延で返ってくることが予想される場合、私のカスタマイズされたrestTemplateは待ちの代わりにタイムアウトエラーを投げる可能性があります。 ユニットテストは、このlilkeになります。私はセクションThe background
で述べたように、
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = TestApplication.class)
@FixMethodOrder(value = MethodSorters.NAME_ASCENDING)
public class CustomRestTemplateTest {
@Autowired
private RestTemplate customRestTemplate;
@ClassRule
public static HoverflyRule hoverflyRule = HoverflyRule.inSimulationMode(SimulationSource.dsl(
service("www.test.com")
.get("/")
.willReturn(success(HttpBodyConverter.json("{}")).withDelay(10, TimeUnit.SECONDS))
));
@Test
public void connectionTimeoutTest() {
customRestTemplate.getForObject("www.test.com", Object.class);
}
}
問題
私の春のブートプロジェクトが開始したとき、それは春の雲の設定サーバからのconfigsをつかむだろうが、ハナアブはその要求を捕獲
{"destination":"172.16.2.84:8888","error":"No match found","key":"a7ac72c9bcc3dc2b76bf0877d98f9e3a","level":"warning","method":"GET","msg":"Failed to find matching request template from template store","path":"************","query":"","time":"2017-03-08T20:55:28+08:00"}
がどのように修正することができます:私は私のユニットテストのレコードを定義したので、それがエラーをスローように、(例えばwww.test.com)、もちろんそれはできない、対応するレコードを検索してみてくださいこの?私は花開きを使用したい、いくつかの設定を設定し、設定サーバーのURLを除外できますか?