
89
•
必ず正確に動くと確信できるくらい単純なコードをテストするのは避ける。その代わり
に、正常に動作するか確信が持てないコードや不安定なコード、複雑な相互依存性を持つ
コードをテストすることに注力する。とはいえ私は、この振る舞いは単純でありテストは
必要ない、という判断をした場合にこそ、ミスをすることが多いので、その点は注意す
る。
•
バグを発見した時には必ずテストを書く。テストファーストは有効な考え方である。テス
トファーストでは、常にテストを書くことから始めて、そのテストを通過するようにコー
ドを作成する。この考え方は、問題が解決できたかどうかを把握するためには、その成功
の条件を確立することから始める、という問題解決の重要な戦略を表現している。
7.3.2
テストスップ
テストを実行することができないタイミングというものは存在します。例えば、インターネット
に接続していない時やテストのために必要なファイルが存在しない場合などです。また、コードを
書くのに使用するマシンが多くなるほど、すべてのテストを実行しにくくなる、という残念な理由
もあります。つまり、テストを失敗させるのではなく、テストをスキップしたい場合があるという
ことです。テストをスキップするには
skip()
という関数を使用します。この関数は、エラーを発
生させる代わりに、単に
S
という文字を出力します。
check_api <- function() {
if (not_working()) {
skip("API ...