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

by EnokiyaMitsuyoshi 2014.12.26

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

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

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

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

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

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

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

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

関連するデータの準備


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

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

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

 必要なデータを揃える


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

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

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

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

まとめ


 

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

私は、

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

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

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

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

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

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

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

お問い合わせ

掲載記事に関するあらゆること、お気軽にお問い合わせください。ご相談は無料です。