Apexのテストで変数部分にテストが通ってくれない時
きっと基本を理解してないんだと思いますが、単純な話でした。
JsonをGETで引き渡して、それをApexクラスにしてapex内で使用するべく、
apex2Jsonとして以下のようなクラスを作成していた。
public class Json2Apex{
public String user_id;
public String dummy;
public static Json2Apex parse(String json){
return (Json2Apex) System.JSON.deserialize(json, Json2Apex.class);
}
}
ちゃんとJSONには、user_id
とdummy
の値を持たせて変換させ、
その変数にもきっちりアクセスした状態でも、テストを走らせてみると、
parse
メソッド部分しか通ってない。
全体の行数が少ないので、パーセンテージとしては、50%。
これでは他のリリースに影響が大なので、調べてみると、単純な事で、
{get; set;}
をつけろ、ってだけだった。
以下のようにつける。
public String user_id{get; set;}
public String dummy{get; set;}
これだけでテストコードも変更することなく通り、無事、100%を達成できました。
参考:http://salesforce.stackexchange.com/questions/10018/testing-apex-classes-created-by-jsontoapex