GWTTestCase会话不再工作?
我们有许多使用GWTTestCase的单元测试,其结构如下: 1) 请求登录 2) 在响应处理程序中,进行第二次需要登录的调用 这一切过去都可以正常工作,但从2.5.1升级到2.7.0后,测试失败,出现“需要登录”错误。问题似乎在于通话(丢失或未连接)之间的会话不再持续。特别是,我们已经验证了登录调用是否有效,是否正确设置了会话 还有另一个测试更新本地化选择的会话数据,但同样的模式也失败了 简化代码段:GWTTestCase会话不再工作?,gwt,gwttestcase,Gwt,Gwttestcase,我们有许多使用GWTTestCase的单元测试,其结构如下: 1) 请求登录 2) 在响应处理程序中,进行第二次需要登录的调用 这一切过去都可以正常工作,但从2.5.1升级到2.7.0后,测试失败,出现“需要登录”错误。问题似乎在于通话(丢失或未连接)之间的会话不再持续。特别是,我们已经验证了登录调用是否有效,是否正确设置了会话 还有另一个测试更新本地化选择的会话数据,但同样的模式也失败了 简化代码段: userService.login("user", "password", new Asyn
userService.login("user", "password", new AsyncFail<DatumResponse<User>>() {
@Override
public void onSuccess(DatumResponse<User> result) {
final int userId = 1053;
final int userDocId = 44;
authService.isAuthorized(userId, OPERATION_READ, userDocId,
new AsyncFail<AuthorizationResponse>() {
@Override
public void onSuccess(AuthorizationResponse result) {
assertFalse("Unexpected error.", result.isError());
}
}
}
}
这可能表明它与线程有关
我知道GWTTestCase通常不再是测试的首选方法;这是一个现有的测试主体。“使用Selenium”或其他建议并没有真正的帮助。这可能与测试的异步性质有关吗?您是否使用delayTestFinish()/finishTest()定义异步调用?是的,我们使用。团队中有人找到了解决办法。。。那是很久以前的事了,我需要做一些挖掘来确认,但我认为我们为测试将Spring的“身份验证策略”或类似的设置为“全局”。
SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_GLOBAL);