我试图模拟用于编写单元测试的gae用户服务,但无法使用以下代码。
我的测试课程如下。
public class AuthenticationTest {
private final LocalServiceTestHelper helper =
new LocalServiceTestHelper(new LocalUserServiceTestConfig())
.setEnvIsAdmin(true).setEnvIsLoggedIn(true)
.setEnvEmail("test@example.com");
@Before
public void setUp() {
helper.setUp();
}
@After
public void tearDown() {
helper.tearDown();
}
@Test
public void testIsAdmin() {
UserService userService = UserServiceFactory.getUserService();
assertTrue(userService.isUserAdmin());
String email = userService.getCurrentUser().getEmail();
assertEquals(email, "test@example.com");
}
}
我发现userService.getCurrentUser()总是返回null。
大多数代码都来自developers.google.com中的示例。我添加的唯一内容是调用.setEnvEmail(“test@example.com”)
任何帮助将不胜感激。
谢谢,
沙迪亚
答案 0 :(得分:2)
为了模拟电子邮件,还需要模拟auth域,只需添加
.setEnvAuthDomain("example.com");
你的助手初始化或@Before方法初始化后它会正常工作。
希望有所帮助