Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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 SpringMVC、TestNG、Akka——异常不会冒泡到测试框架,而测试框架应该失败_Java_Spring Mvc_Testng_Akka_Spring Test Mvc - Fatal编程技术网

Java SpringMVC、TestNG、Akka——异常不会冒泡到测试框架,而测试框架应该失败

Java SpringMVC、TestNG、Akka——异常不会冒泡到测试框架,而测试框架应该失败,java,spring-mvc,testng,akka,spring-test-mvc,Java,Spring Mvc,Testng,Akka,Spring Test Mvc,我有一个SpringMVC应用程序,它内部使用Akka。其中一个参与者正在调用已使用MockRestServiceServer模拟的REST服务。当我运行调用控制器然后调用感兴趣的参与者的测试时,即使在内部抛出异常,测试也会通过 我在日志中看到以下异常堆栈跟踪。在测试用例中,在验证模拟服务器(mockRestServiceServer.verify())之前,我还加入了Thread.sleep(5000)。我想知道为什么这个异常没有被抛出到TestNG框架中,并且没有通过测试 任何关于如何解决这

我有一个SpringMVC应用程序,它内部使用Akka。其中一个参与者正在调用已使用MockRestServiceServer模拟的REST服务。当我运行调用控制器然后调用感兴趣的参与者的测试时,即使在内部抛出异常,测试也会通过

我在日志中看到以下异常堆栈跟踪。在测试用例中,在验证模拟服务器(mockRestServiceServer.verify())之前,我还加入了Thread.sleep(5000)。我想知道为什么这个异常没有被抛出到TestNG框架中,并且没有通过测试

任何关于如何解决这个问题的建议都将不胜感激!谢谢

java.lang.AssertionError: Request content expected:<"{\"GET\":{\"user\":[\"some user id\"]}}\""> but was:<{"GET":{"user":["some user id"]}}">
at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:60) ~[spring-test-3.2.0.RELEASE.jar:3.2.0.RELEASE]
at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:89) ~[spring-test-3.2.0.RELEASE.jar:3.2.0.RELEASE]
at org.springframework.test.web.client.match.ContentRequestMatchers$3.match(ContentRequestMatchers.java:94) ~[spring-test-3.2.0.RELEASE.jar:3.2.0.RELEASE]
at org.springframework.test.web.client.RequestMatcherClientHttpRequest.executeInternal(RequestMatcherClientHttpRequest.java:71) ~[spring-test-3.2.0.RELEASE.jar:3.2.0.RELEASE]
at org.springframework.mock.http.client.MockClientHttpRequest.execute(MockClientHttpRequest.java:90) ~[spring-test-3.2.0.RELEASE.jar:3.2.0.RELEASE]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:484) ~[spring-web-3.2.0.RELEASE.jar:3.2.0.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:461) ~[spring-web-3.2.0.RELEASE.jar:3.2.0.RELEASE]
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:410) ~[spring-web-3.2.0.RELEASE.jar:3.2.0.RELEASE]
at com.some.company.akka.actor.adr.service.AdvDataRepoService.generateAndExecuteHttpRequest(AdvDataRepoService.java:118) ~[classes/:na]
at com.some.company.akka.actor.adr.service.AdvDataRepoService.updatePermissions(AdvDataRepoService.java:57) ~[classes/:na]
at com.some.company.akka.actor.adr.AdvDataRepoServiceActor.onReceive(AdvDataRepoServiceActor.java:35) ~[classes/:na]
at akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167) ~[akka-actor_2.10-2.3-M2.jar:2.3-M2]
at akka.actor.Actor$class.aroundReceive(Actor.scala:467) ~[akka-actor_2.10-2.3-M2.jar:2.3-M2]
at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97) ~[akka-actor_2.10-2.3-M2.jar:2.3-M2]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:491) [akka-actor_2.10-2.3-M2.jar:2.3-M2]
at akka.actor.ActorCell.invoke(ActorCell.scala:462) [akka-actor_2.10-2.3-M2.jar:2.3-M2]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237) [akka-actor_2.10-2.3-M2.jar:2.3-M2]
at akka.dispatch.Mailbox.run(Mailbox.scala:219) [akka-actor_2.10-2.3-M2.jar:2.3-M2]
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:385) [akka-actor_2.10-2.3-M2.jar:2.3-M2]
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [scala-library-2.10.3.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [scala-library-2.10.3.jar:na]
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [scala-library-2.10.3.jar:na]
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [scala-library-2.10.3.jar:na]
java.lang.AssertionError:需要请求内容:
在org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:60)~[spring-test-3.2.0.RELEASE.jar:3.2.0.RELEASE]
在org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:89)~[spring-test-3.2.0.RELEASE.jar:3.2.0.RELEASE]
在org.springframework.test.web.client.match.ContentRequestMatchers$3.match(ContentRequestMatchers.java:94)~[spring-test-3.2.0.RELEASE.jar:3.2.0.RELEASE]
在org.springframework.test.web.client.RequestMatcherClientHttpRequest.executeInternal(RequestMatcherClientHttpRequest.java:71)~[spring-test-3.2.0.RELEASE.jar:3.2.0.RELEASE]
在org.springframework.mock.http.client.MockClientHttpRequest.execute(MockClientHttpRequest.java:90)~[spring-test-3.2.0.RELEASE.jar:3.2.0.RELEASE]
在org.springframework.web.client.restemplate.doExecute(restemplate.java:484)~[spring-web-3.2.0.RELEASE.jar:3.2.0.RELEASE]
在org.springframework.web.client.restemplate.execute(restemplate.java:461)~[spring-web-3.2.0.RELEASE.jar:3.2.0.RELEASE]
在org.springframework.web.client.restemplate.exchange(restemplate.java:410)~[spring-web-3.2.0.RELEASE.jar:3.2.0.RELEASE]
在com.some.company.akka.actor.adr.service.AdvDataRepoService.generateAndExecuteHttpRequest(AdvDataRepoService.java:118)~[classes/:na]
在com.some.company.akka.actor.adr.service.AdvDataRepoService.updatePermissions(AdvDataRepoService.java:57)~[classes/:na]
在com.some.company.akka.actor.adr.AdvDataRepoServiceActor.onReceive(AdvDataRepoServiceActor.java:35)~[classes/:na]
在akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:167)~[akka-actor_2.10-2.3-M2.jar:2.3-M2]
在akka.actor.actor$class.aroundReceive(actor.scala:467)~[akka-actor_2.10-2.3-M2.jar:2.3-M2]
在akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:97)~[akka-actor_2.10-2.3-M2.jar:2.3-M2]
在akka.actor.ActorCell.receiveMessage(ActorCell.scala:491)[akka-actor_2.10-2.3-M2.jar:2.3-M2]
在akka.actor.ActorCell.invoke(ActorCell.scala:462)[akka-actor_2.10-2.3-M2.jar:2.3-M2]
在akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237)[akka-actor_2.10-2.3-M2.jar:2.3-M2]
在akka.dispatch.Mailbox.run(Mailbox.scala:219)[akka-actor_2.10-2.3-M2.jar:2.3-M2]
在akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:385)[akka-actor_2.10-2.3-M2.jar:2.3-M2]
在scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)[scala-library-2.10.3.jar:na]
在scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)[scala-library-2.10.3.jar:na]
位于scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)[scala-library-2.10.3.jar:na]
在scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)[scala-library-2.10.3.jar:na]

参与者在不同的线程上异步执行,然后从不同的线程向他们发送消息。因此,您无法在发送代码中捕获这些异常。这是故意的:唯一得到例外的是演员的主管