処理をつなげたテスト〜ツイート今回は、今まで作成した1処理を「機能」として動かせることを確認するテストケースを作成します。通常のやり方では、1.実装、2.テストと分けた場合の「2.テスト」にあたります。機能テスト仕様は以下の通りです。ファイルにデータをCSV形式で書き出す。ファイルが存在するのであれば、それを読み込みデータを保持する今までの実装、テストで行くと「3」が実装したものに相当します。これをテストケースで確認する様にします。現状では、スタブのままなので未実装になっています。テストケースを先に作成します。ちなみに、最終的なコードはGithubにあります。data.getPassword());}とりあえずで、上の様に作成しました。初めにファイルの存在チェック処理を確認して、ファイルが存在しないならテスト失敗。次にファイルの読み込みを行い、そのデータを取得しデータが想定通りのものが入っているか確認します。余談テストを複数回行っていたので「koza.csv」にデータが複数作成されていました。ヘッダー付きなのでこれはダメなテストになってしまうので、ちょっと修正します。<修正1>「ファイルが存在するときにはファイル作成をしない」が抜けていたのでこれを追加します。write.newLine();}そして、修正後のメソッドは以下の様になります。write.close();}これで、ファイルが存在しているのに新たにファイルを作成することがなくなります。テストはうまくいきませんでした。これの原因は、テストケースにありました。data.getPassword());}取得したデータのサイズ(ファイルの行数)は1の想定ですが、テストを実行するたびにデータが追加されるので、テストが毎回同じ結果になりません。これは良くないなので、ここもちょっと修正します。dataList.size());こんな感じで修正しました。複数件あっても作成されるデータは同じなので初めの一件目が想定通りの値かどうか確認します。ここでちょっと注意「初めの1行目はヘッダー行なのでデータ部ではないですが、取得したときはリストの1番目に設定されています。以下の様に修正します。data.getPassword());}こんな感じでファイル読み込みの一連の機能をテストしました。これと同様に、他ものもテストしました。わかりづらいですが、上のキャプチャにテストケースが、4つあります。ファイル作成、ファイル存在チェックの処理の他は読み込みと書き込みをテストしています。今回はこれまでにします。