2011年5月7日土曜日

Google App Engine for Javaのユニットテストのドキュメント(その7)

前回に続き、Google App Engine for Javaのテストについて
翻訳します。

ちなみに、翻訳にはKaede翻訳ツールを使っています。
もともと、こういう用途に使うために作ったものですからね。

翻訳元のドキュメントは
http://code.google.com/intl/en/appengine/docs/java/tools/localunittesting.html
です。



Writing Tests With Authentication Expectations (認証を前提とするテストの記述)
ユーザーがログインしている場合にアプリケーションが別の振る舞いをする場合や、管理者のみの機能を機能を持つ場合に、ロジックが期待されている振る舞いをするかどうか調べるテストを記述することができます。ここにその方法を示します。
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import com.google.appengine.tools.development.testing.LocalServiceTestHelper;
import com.google.appengine.tools.development.testing.LocalUserServiceTestConfig;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;

public class AuthenticationTest {

    private final LocalServiceTestHelper helper =
        new LocalServiceTestHelper(new LocalUserServiceTestConfig())
            .setEnvIsAdmin(true).setEnvIsLoggedIn(true);

    @Before
    public void setUp() {
        helper.setUp();
    }

    @After
    public void tearDown() {
        helper.tearDown();
    }

    @Test
    public void testIsAdmin() {
        UserService userService = UserServiceFactory.getUserService();
        assertTrue(userService.isUserAdmin());
    }
}
このサンプルでは、LocalServiceTestHelperをLocalUserServiceTestConfigを使って設定して、テスト上でUserServiceを利用できるようにしていますが、LocalServiceTestHelper上で、幾つかの認証に関する環境データの設定も行っています。

0 件のコメント:

コメントを投稿