Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT JUnit测试-是否可以忽略同源策略_Java_Gwt_Junit_Same Origin Policy_Gwt Super Dev Mode - Fatal编程技术网

Java GWT JUnit测试-是否可以忽略同源策略

Java GWT JUnit测试-是否可以忽略同源策略,java,gwt,junit,same-origin-policy,gwt-super-dev-mode,Java,Gwt,Junit,Same Origin Policy,Gwt Super Dev Mode,我正在尝试运行一个异步测试,需要向我的服务器发送一个请求,该服务器有一个REST-API。因此,我的问题是测试是在本地计算机上执行的,但这显然违反了同源策略,如果我尝试运行GWTtestCase,就会出现运行时错误: com.google.gwt.http.client.RequestPermissionException: The URL http://<url-to-my-rest-service> is invalid or violates the same-origin s

我正在尝试运行一个异步测试,需要向我的服务器发送一个请求,该服务器有一个REST-API。因此,我的问题是测试是在本地计算机上执行的,但这显然违反了同源策略,如果我尝试运行GWTtestCase,就会出现运行时错误:

com.google.gwt.http.client.RequestPermissionException: The URL http://<url-to-my-rest-service> is invalid or violates the same-origin security restriction
    at com.google.gwt.http.client.RequestBuilder.doSend(RequestBuilder.java:394)
    at com.google.gwt.http.client.RequestBuilder.send(RequestBuilder.java:242)
    ...
Maven然后将打印一个URL到终端,我应该将其输入浏览器以执行测试:

http://127.0.1.1:57818/<my-package>.JUnit/junit-standards.html?gwt.codesvr=127.0.1.1:40387
codeserver书签(上的开发模式)不工作,GWT无法检测到“可编译”的模块

问题:
那么我该如何使用SuperDevMode编译JUnit测试模块呢?

您不能绕过SOP,但您可以使用servlet代理对远程服务器的请求(JUnitShell支持在gwt.xml文件中使用
声明的servlet)


如果您想在Chrome/Chrome中运行测试,您可以使用
-runStyle手册
或(注意:甚至还有一个),因为DevMode不再工作,正如您所指出的,您必须在prod模式下运行测试:
-prod-userAgents safari

谢谢您的回答,我将尝试在外部浏览器中以生产模式手动运行测试。但是我还有两个问题:我认为测试在servlet上也应该失败,因为servlet仍然部署在本地主机上,但是REST-API服务器不是这样的,对吗?我不需要为prdouction模式手动运行codeserver吗?就像在SuperDevMode中的localhost上运行GWT代码一样?
http://127.0.1.1:57818/<my-package>.JUnit/junit-standards.html?gwt.codesvr=127.0.1.1:40387
mvn process-classes gwt:run-codeserver