2017-03-09 6 views
1

私は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を除外できますか?

答えて

関連する問題