menu
%}

テスト!テスト!テスト!

 2014.12.26 EnokiyaMitsuyoshi

こんにちは、プロフェッショナルサービスのEnoです。

今回は、Salesforceのテストクラスについて書きたいと思います。

テストクラスを実装するのはお好きですか?

私は嫌いです。面倒な事も多いし、手間も時間もかかります。

しかしテストクラスは絶対に必要なものであり、重要性は被テストクラスより高い場合もあります。

そもそも無いとデプロイ出来ませんしね。

そんなテストクラスを実装する際に、苦心されるのはテストデータだと思うのですが、

何点かテストデータを作成する際の注意点などを、記載してきたいと思ってます。

関連するデータの準備

取引先責任者をテスト時に、取引先が必要な場合どうされます?

取引先責任者のテストだから、取引先は既存のデータつかっちゃえ、では、テストとしては不十分、いえ失格です。

データがあるから、SeeAllData=trueアノテーション付けて使っちゃえ、と思われる方もいらっしゃるかもしれませんが、これは大きな間違いです。というか手抜きです。

必要なデータを揃える

必要なデータというのは、テストの要件を満たすデータという意味です。

関連するデータも必要なら用意しなければなりません。

また、見落としがちですがオブジェクトだけが必要なデータではありません。

静的リソースやカスタム設定など、テストを実施する上で必要となるものは「揃える」という、考えが必要です。

まとめ

テストを何のために実施しますか。

私は、

「実装した機能を、どこまで担保するか」

を確認するためにテストする、と考えています。

決してバグを出すためではありません。

実装機能を私はここまで確証を持って提供できることを、テストするのです。

他のデータに影響されたり、不足があっては確証を取る以前の問題です。

担保できる範囲がわかっていれば、いざという事態の時にも対応を取りやすいでしょう。

担保できるものが提供できる段階にまで達して、初めて実装できたと考えてもらえたら幸せです。

新規CTA