Slim3 で、ログイン必須のコントローラーやサービスをテストする方法が分かりにくかったので、やり方をメモしておきます。
まぁ、やり方は簡単で、tester.environment の setEmail と setAttributes を使うだけなんですけどね。
// ログイン Map<String, Object> attrs = new HashMap<String, Object>(); attrs.put("com.google.appengine.api.users.UserService.user_id_key", "1"); tester.environment.setAttributes(attrs); tester.environment.setEmail("example@gmail.com"); // ログアウト tester.environment.setEmail(null); tester.environment.setAttributes(null);
これで、ログイン/ログアウト状態でのテストができます。
上記のコードを毎回書くのは面倒なので、Slim3 の tester に login/logout メソッドがあった方がいいと思うんですが、どうでしょう?Python の Kay Framework にはあるから、Slim3 にも同じようなやつが欲しいですね。