function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
TOM*TOM* 

コントローラのテストメソッドについて

いつもお世話になっております。

初歩的なご質問で申し訳ないのですが、
スタンダードコントローラを用いてsaveの前にフラグを立てることが出来る様なコントローラを作成したのですが、
テストコードを作成し75%以上でなければならないのでしょうか?

Best Answer chosen by Admin (Salesforce Developers) 
ikouikou

ざっくりとした質問なので、ざっくりとしか答えられないのですが・・

 

テスト対象となるクラス、メソッドには必ず何かを行う機能があるはずです。

データを更新するのか、入力された文字列で検索するのか、フラグを立ててデータを保存するのか・・などなど。

それらを実行した時に結果としてどうなっていれば正しいのかを考えてテストメソッドを作れば良いです。

 

分岐があろうがなかろうが、複数パターンやらなければいけない時もありますし、そうでない場合もあります。

フラグが立つパターン、立たないパターン、データ更新に成功するパターン、失敗するパターン、複数件あるパターン・・・

カバー率だけで考えるのならば1種類で75%いくのかもしれませんが、これは良いテストとは言えません。

どこまでやるかはプロジェクトや開発者に委ねられていますが、出来る限りいろいろなパターンのテストを入れておくことで、

より品質の高いものが出来上がると思います。

All Answers

ikouikou

本番環境にデプロイして利用するのであれば必要となります。

 

書き方については以下が参考になると思います。

http://wiki.developerforce.com/page/JP:An_Introduction_to_Apex_Code_Test_Methods

TOM*TOM*

解答ありがとうございます。
参考にさせていただきます。

もう1つ質問があるのですが、分岐文などを全く使っていない場合は
どの様な内容で作成すれば、上手くテストが行えるのかコツなどがありましたら、
お教ていただけませんでしょうか?

ikouikou

ざっくりとした質問なので、ざっくりとしか答えられないのですが・・

 

テスト対象となるクラス、メソッドには必ず何かを行う機能があるはずです。

データを更新するのか、入力された文字列で検索するのか、フラグを立ててデータを保存するのか・・などなど。

それらを実行した時に結果としてどうなっていれば正しいのかを考えてテストメソッドを作れば良いです。

 

分岐があろうがなかろうが、複数パターンやらなければいけない時もありますし、そうでない場合もあります。

フラグが立つパターン、立たないパターン、データ更新に成功するパターン、失敗するパターン、複数件あるパターン・・・

カバー率だけで考えるのならば1種類で75%いくのかもしれませんが、これは良いテストとは言えません。

どこまでやるかはプロジェクトや開発者に委ねられていますが、出来る限りいろいろなパターンのテストを入れておくことで、

より品質の高いものが出来上がると思います。

This was selected as the best answer
TOM*TOM*

解答ありがとうございます。

的確なアドバイスでとりあえず方向性を決めることができました。

フラグが立つ、立たない、データ更新が行われる、行われないのパターンのテストを作成する方向で考えてみようと思います。

また分からないことがあったらよろしくお願いいたします。