探索單元測試系列(6) Mock總結

概念

    Mock其實是一種思想,一種單元測試的解決方案。

    Mock出現之前,我們的單元測試工作量很大,而且往往會受限於開發進程。

    Mock很好地解決了局部單元測試的問題,提出了預期返回值並模擬的概念。

    目前Mock類庫非常之多,實在不知道怎麼選擇的時候,就算PowerMock吧。不止因爲它本身功能的強大,還因爲它提供了很好地擴展。後期切換到其他類庫也是很方便的。

使用

    在使用Mock的過程中,一定要注意運行環境的指定。

  (1)直接使用Mocktio.mock()時是不需要指定運行環境的;

  (2)使用@Mock和@InjectMocks註解至少要指定運行環境是MockitoJUnitRunner;

  (3)使用@MockBean(Spring提供的!非Spring環境不能使用)註解需要指定運行環境是SpringRunner(或SpringJUnit4ClassRunner,兩者等價);

  (4)使用PowerMock時要注意,運行環境要指定爲PowerMockRunner,且不能使用@MockBean。

    綜上,默認(junit環境)< MockitoJUnitRunner(mocktio環境)< PowerMockRunner(PowerMock環境)或SpringRunner(Spring環境)。

發佈了119 篇原創文章 · 獲贊 23 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章