Skip to content

AssertThrowsOnLastStatement fails with Expected a template that would generate exactly one statement to replace one statement, but generated 0. #867

@ChenyuWang98

Description

@ChenyuWang98
[ERROR] Failed to execute goal org.openrewrite.maven:rewrite-maven-plugin:6.24.0:run (default-cli) on project module2: Execution default-cli of goal org.openrewrite.maven:rewrite-maven-plugin:6.24.0:run failed: Error while visiting iba\module2\src\test\java\com\my2\server\host\webapp\handlers\AbstractHandlerTest.java: java.lang.IllegalArgumentException: Expected a template that would generate exactly one statement to replace one statement, but generated 0. Template:
[ERROR] String x = __P__.<java.lang.String>/*__p2__*/p();
[ERROR] Substitutions:
[ERROR] Substitutions(code=#{} #{} = #{any()};, genericTypes=[], parameters=[String, x, AbstractHandler.HANDLE_FINISHED], propertyPlaceholderHelper=org.openrewrite.internal.PropertyPlaceholderHelper@2abf57db, typeVariables=[])
[ERROR] Statement:
[ERROR] verify(request, atLeastOnce()).getAttribute(AbstractHandler.HANDLE_FINISHED)
[ERROR]   org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.maybeReplaceStatement(JavaTemplateJavaExtension.java:472)
[ERROR]   org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.visitMethodInvocation(JavaTemplateJavaExtension.java:429)
[ERROR]   org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.visitMethodInvocation(JavaTemplateJavaExtension.java:56)
[ERROR]   org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:4275)
[ERROR]   org.openrewrite.java.tree.J.accept(J.java:55)
[ERROR]   org.openrewrite.TreeVisitor.visit(TreeVisitor.java:242)
[ERROR]   org.openrewrite.TreeVisitor.visit(TreeVisitor.java:154)
[ERROR]   org.openrewrite.java.JavaTemplate.apply(JavaTemplate.java:121)
[ERROR]   org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$extractExpressionArguments$3(AssertThrowsOnLastStatement.java:170)
[ERROR]   org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
[ERROR]   org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
[ERROR]   org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.extractExpressionArguments(AssertThrowsOnLastStatement.java:150)
[ERROR]   org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$visitMethodDeclaration$1(AssertThrowsOnLastStatement.java:122)
[ERROR]   org.openrewrite.internal.ListUtils.flatMap(ListUtils.java:292)
[ERROR]   org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$visitMethodDeclaration$2(AssertThrowsOnLastStatement.java:115)
[ERROR]   org.openrewrite.internal.ListUtils.lambda$flatMap$0(ListUtils.java:357)
[ERROR]   ...
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.openrewrite.maven:rewrite-maven-plugin:6.24.0:run (default-cli) on project module2: Execution default-cli of goal org.openrewrite.maven:rewrite-maven-plugin:6.24.0:run failed: Error while visiting iba\module2\src\test\java\com\my2\server\host\webapp\handlers\AbstractHandlerTest.java: java.lang.IllegalArgumentException: Expected a template that would generate exactly one statement to replace one statement, but generated 0. Template:
String x = __P__.<java.lang.String>/*__p2__*/p();
Substitutions:
Substitutions(code=#{} #{} = #{any()};, genericTypes=[], parameters=[String, x, AbstractHandler.HANDLE_FINISHED], propertyPlaceholderHelper=org.openrewrite.internal.PropertyPlaceholderHelper@2abf57db, typeVariables=[])
Statement:
verify(request, atLeastOnce()).getAttribute(AbstractHandler.HANDLE_FINISHED)
  org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.maybeReplaceStatement(JavaTemplateJavaExtension.java:472)
  org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.visitMethodInvocation(JavaTemplateJavaExtension.java:429)
  org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.visitMethodInvocation(JavaTemplateJavaExtension.java:56)
  org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:4275)
  org.openrewrite.java.tree.J.accept(J.java:55)
  org.openrewrite.TreeVisitor.visit(TreeVisitor.java:242)
  org.openrewrite.TreeVisitor.visit(TreeVisitor.java:154)
  org.openrewrite.java.JavaTemplate.apply(JavaTemplate.java:121)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$extractExpressionArguments$3(AssertThrowsOnLastStatement.java:170)
  org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
  org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.extractExpressionArguments(AssertThrowsOnLastStatement.java:150)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$visitMethodDeclaration$1(AssertThrowsOnLastStatement.java:122)
  org.openrewrite.internal.ListUtils.flatMap(ListUtils.java:292)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$visitMethodDeclaration$2(AssertThrowsOnLastStatement.java:115)
  org.openrewrite.internal.ListUtils.lambda$flatMap$0(ListUtils.java:357)
  ...
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180)
    at java.util.concurrent.FutureTask.run (FutureTask.java:317)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:572)
    at java.util.concurrent.FutureTask.run (FutureTask.java:317)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1144)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:642)
    at java.lang.Thread.run (Thread.java:1583)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.openrewrite.maven:rewrite-maven-plugin:6.24.0:run failed: Error while visiting iba\module2\src\test\java\com\my2\server\host\webapp\handlers\AbstractHandlerTest.java: java.lang.IllegalArgumentException: Expected a template that would generate exactly one statement to replace one statement, but generated 0. Template:
String x = __P__.<java.lang.String>/*__p2__*/p();
Substitutions:
Substitutions(code=#{} #{} = #{any()};, genericTypes=[], parameters=[String, x, AbstractHandler.HANDLE_FINISHED], propertyPlaceholderHelper=org.openrewrite.internal.PropertyPlaceholderHelper@2abf57db, typeVariables=[])
Statement:
verify(request, atLeastOnce()).getAttribute(AbstractHandler.HANDLE_FINISHED)
  org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.maybeReplaceStatement(JavaTemplateJavaExtension.java:472)
  org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.visitMethodInvocation(JavaTemplateJavaExtension.java:429)
  org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.visitMethodInvocation(JavaTemplateJavaExtension.java:56)
  org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:4275)
  org.openrewrite.java.tree.J.accept(J.java:55)
  org.openrewrite.TreeVisitor.visit(TreeVisitor.java:242)
  org.openrewrite.TreeVisitor.visit(TreeVisitor.java:154)
  org.openrewrite.java.JavaTemplate.apply(JavaTemplate.java:121)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$extractExpressionArguments$3(AssertThrowsOnLastStatement.java:170)
  org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
  org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.extractExpressionArguments(AssertThrowsOnLastStatement.java:150)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$visitMethodDeclaration$1(AssertThrowsOnLastStatement.java:122)
  org.openrewrite.internal.ListUtils.flatMap(ListUtils.java:292)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$visitMethodDeclaration$2(AssertThrowsOnLastStatement.java:115)
  org.openrewrite.internal.ListUtils.lambda$flatMap$0(ListUtils.java:357)
  ...
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:133)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180)
    at java.util.concurrent.FutureTask.run (FutureTask.java:317)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:572)
    at java.util.concurrent.FutureTask.run (FutureTask.java:317)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1144)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:642)
    at java.lang.Thread.run (Thread.java:1583)
Caused by: java.lang.RuntimeException: Error while visiting iba\module2\src\test\java\com\my2\server\host\webapp\handlers\AbstractHandlerTest.java: java.lang.IllegalArgumentException: Expected a template that would generate exactly one statement to replace one statement, but generated 0. Template:
String x = __P__.<java.lang.String>/*__p2__*/p();
Substitutions:
Substitutions(code=#{} #{} = #{any()};, genericTypes=[], parameters=[String, x, AbstractHandler.HANDLE_FINISHED], propertyPlaceholderHelper=org.openrewrite.internal.PropertyPlaceholderHelper@2abf57db, typeVariables=[])
Statement:
verify(request, atLeastOnce()).getAttribute(AbstractHandler.HANDLE_FINISHED)
  org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.maybeReplaceStatement(JavaTemplateJavaExtension.java:472)
  org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.visitMethodInvocation(JavaTemplateJavaExtension.java:429)
  org.openrewrite.java.internal.template.JavaTemplateJavaExtension$1.visitMethodInvocation(JavaTemplateJavaExtension.java:56)
  org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:4275)
  org.openrewrite.java.tree.J.accept(J.java:55)
  org.openrewrite.TreeVisitor.visit(TreeVisitor.java:242)
  org.openrewrite.TreeVisitor.visit(TreeVisitor.java:154)
  org.openrewrite.java.JavaTemplate.apply(JavaTemplate.java:121)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$extractExpressionArguments$3(AssertThrowsOnLastStatement.java:170)
  org.openrewrite.internal.ListUtils.map(ListUtils.java:245)
  org.openrewrite.internal.ListUtils.map(ListUtils.java:269)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.extractExpressionArguments(AssertThrowsOnLastStatement.java:150)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$visitMethodDeclaration$1(AssertThrowsOnLastStatement.java:122)
  org.openrewrite.internal.ListUtils.flatMap(ListUtils.java:292)
  org.openrewrite.java.testing.junit5.AssertThrowsOnLastStatement$1.lambda$visitMethodDeclaration$2(AssertThrowsOnLastStatement.java:115)
  org.openrewrite.internal.ListUtils.lambda$flatMap$0(ListUtils.java:357)
  ...
    at org.openrewrite.maven.AbstractRewriteBaseRunMojo$ResultsContainer$1.lambda$preVisit$0 (AbstractRewriteBaseRunMojo.java:380)
    at java.util.Optional.ifPresent (Optional.java:178)
    at org.openrewrite.maven.AbstractRewriteBaseRunMojo$ResultsContainer$1.preVisit (AbstractRewriteBaseRunMojo.java:377)
    at org.openrewrite.maven.AbstractRewriteBaseRunMojo$ResultsContainer$1.preVisit (AbstractRewriteBaseRunMojo.java:373)
    at org.openrewrite.maven.AbstractRewriteBaseRunMojo_ResultsContainer_1_JavaVisitor.preVisit (AbstractRewriteBaseRunMojo_ResultsContainer_1_JavaVisitor.zig:102)
    at org.openrewrite.TreeVisitor.visit (TreeVisitor.java:239)
    at org.openrewrite.TreeVisitor.visitAndCast (TreeVisitor.java:309)
    at org.openrewrite.java.JavaVisitor.visitRightPadded (JavaVisitor.java:1310)
    at org.openrewrite.java.JavaVisitor.lambda$visitBlock$4 (JavaVisitor.java:392)
    at org.openrewrite.internal.ListUtils.map (ListUtils.java:245)
    at org.openrewrite.internal.ListUtils.map (ListUtils.java:269)
    at org.openrewrite.java.JavaVisitor.visitBlock (JavaVisitor.java:391)
    at org.openrewrite.java.tree.J$Block.acceptJava (J.java:833)
    at org.openrewrite.java.tree.J.accept (J.java:55)
    at org.openrewrite.TreeVisitor.visit (TreeVisitor.java:242)
    at org.openrewrite.TreeVisitor.visitAndCast (TreeVisitor.java:309)
    at org.openrewrite.java.JavaVisitor.visitLambda (JavaVisitor.java:766)
    at org.openrewrite.java.tree.J$Lambda.acceptJava (J.java:3529)
    at org.openrewrite.java.tree.J.accept (J.java:55)
    at org.openrewrite.TreeVisitor.visit (TreeVisitor.java:242)
    at org.openrewrite.TreeVisitor.visitAndCast (TreeVisitor.java:309)
    at org.openrewrite.java.JavaVisitor.visitRightPadded (JavaVisitor.java:1310)
    at org.openrewrite.java.JavaVisitor.lambda$visitContainer$34 (JavaVisitor.java:1360)
    at org.openrewrite.internal.ListUtils.map (ListUtils.java:245)
    at org.openrewrite.internal.ListUtils.map (ListUtils.java:269)
    at org.openrewrite.java.JavaVisitor.visitContainer (JavaVisitor.java:1360)
    at org.openrewrite.java.JavaVisitor.visitMethodInvocation (JavaVisitor.java:877)
    at org.openrewrite.java.tree.J$MethodInvocation.acceptJava (J.java:4275)
    at org.openrewrite.java.tree.J.accept (J.java:55)
    at org.openrewrite.TreeVisitor.visit (TreeVisitor.java:242)
    at org.openrewrite.TreeVisitor.visitAndCast (TreeVisitor.java:309)
    at org.openrewrite.java.JavaVisitor.visitRightPadded (JavaVisitor.java:1310)
    at org.openrewrite.java.JavaVisitor.lambda$visitBlock$4 (JavaVisitor.java:392)
    at org.openrewrite.internal.ListUtils.map (ListUtils.java:245)
    at org.openrewrite.internal.ListUtils.map (ListUtils.java:269)
    at org.openrewrite.java.JavaVisitor.visitBlock (JavaVisitor.java:391)
    at org.openrewrite.java.tree.J$Block.acceptJava (J.java:833)
    at org.openrewrite.java.tree.J.accept (J.java:55)
    at org.openrewrite.TreeVisitor.visit (TreeVisitor.java:242)
    at org.openrewrite.TreeVisitor.visitAndCast (TreeVisitor.java:309)
    at org.openrewrite.java.JavaVisitor.visitMethodDeclaration (JavaVisitor.java:839)
    at org.openrewrite.java.tree.J$MethodDeclaration.acceptJava (J.java:4021)
    at org.openrewrite.java.tree.J.accept (J.java:55)
    at org.openrewrite.TreeVisitor.visit (TreeVisitor.java:242)
    at org.openrewrite.TreeVisitor.visitAndCast (TreeVisitor.java:309)
    at org.openrewrite.java.JavaVisitor.visitRightPadded (JavaVisitor.java:1310)
    at org.openrewrite.java.JavaVisitor.lambda$visitBlock$4 (JavaVisitor.java:392)
    at org.openrewrite.internal.ListUtils.map (ListUtils.java:245)
    at org.openrewrite.internal.ListUtils.map (ListUtils.java:269)
    at org.openrewrite.java.JavaVisitor.visitBlock (JavaVisitor.java:391)
    at org.openrewrite.java.tree.J$Block.acceptJava (J.java:833)
    at org.openrewrite.java.tree.J.accept (J.java:55)
    at org.openrewrite.TreeVisitor.visit (TreeVisitor.java:242)
    at org.openrewrite.TreeVisitor.visitAndCast (TreeVisitor.java:309)
    at org.openrewrite.java.JavaVisitor.visitClassDeclaration (JavaVisitor.java:474)
    at org.openrewrite.java.tree.J$ClassDeclaration.acceptJava (J.java:1370)
    at org.openrewrite.java.tree.J.accept (J.java:55)
    at org.openrewrite.TreeVisitor.visit (TreeVisitor.java:242)
    at org.openrewrite.TreeVisitor.visitAndCast (TreeVisitor.java:309)
    at org.openrewrite.java.JavaVisitor.lambda$visitCompilationUnit$9 (JavaVisitor.java:486)
    at org.openrewrite.internal.ListUtils.map (ListUtils.java:245)
    at org.openrewrite.internal.ListUtils.map (ListUtils.java:269)
    at org.openrewrite.java.JavaVisitor.visitCompilationUnit (JavaVisitor.java:486)
    at org.openrewrite.java.tree.J$CompilationUnit.acceptJava (J.java:1652)
    at org.openrewrite.java.tree.J.accept (J.java:55)
    at org.openrewrite.TreeVisitor.visit (TreeVisitor.java:242)
    at org.openrewrite.maven.AbstractRewriteBaseRunMojo$ResultsContainer.getRecipeErrors (AbstractRewriteBaseRunMojo.java:384)
    at org.openrewrite.maven.AbstractRewriteBaseRunMojo$ResultsContainer.getFirstException (AbstractRewriteBaseRunMojo.java:364)
    at org.openrewrite.maven.AbstractRewriteRunMojo.execute (AbstractRewriteRunMojo.java:68)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:193)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call (MultiThreadedBuilder.java:180)
    at java.util.concurrent.FutureTask.run (FutureTask.java:317)
    at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:572)
    at java.util.concurrent.FutureTask.run (FutureTask.java:317)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1144)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:642)
    at java.lang.Thread.run (Thread.java:1583)
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions