
316
| 第十一章
final FlagDTO flag = restTemplate.getForObject(flagUrl, FlagDTO.class);
return Optional.ofNullable(flag);
} catch (HttpClientErrorException | HttpServerErrorException |
ResourceAccessException | HttpMessageNotReadableException e) {
final String msg = "Failed to retrieve flag %s; falling back to no flag";
LOGGER.info(format(msg, flagId), e);
return Optional.empty();
}
}
注意技術堆疊有多少部分有被測試
當你執行容錯測試時,很容易會模仿比你原先認為的還要多的技術堆疊。
這會讓測試變得脆弱。
單元測試
近年來,
單元測試
已經相當普遍了,所以或許你已經不需要學習它的基本知識了。
坊間有無數的資源解釋單元測試與 TDD 以及它的主要工具:JUnit、TestNG 之類的
框架,或是執行測試的 Spock,以及 Mockito、JMock 等程式庫,或模仿依賴項目的
PowerMock。除了上述的工具之外,還有一些程式庫值得一提,它們可協助編寫更具表
達性的斷言,例如 Hamcrest 或 Fest-Assert,但它們都不是新鮮的東西。 ...