Skip to content

Fix AssertTrueInstanceofToAssertInstanceOf static import#984

Merged
timtebeek merged 1 commit into
mainfrom
tim/fix-assertinstanceof-test
May 1, 2026
Merged

Fix AssertTrueInstanceofToAssertInstanceOf static import#984
timtebeek merged 1 commit into
mainfrom
tim/fix-assertinstanceof-test

Conversation

@timtebeek

Copy link
Copy Markdown
Member

Summary

  • The recipe's template assertInstanceOf(#{any(java.lang.Object)}.class, ...) produced invalid Java after substitution (.class on an instance expression), so the resulting assertInstanceOf invocation had no JavaType.Method. Without type info, maybeAddImport couldn't see the reference and skipped adding the static import.
  • Switched the template parameter to #{any(java.lang.Class)} and construct a properly typed J.FieldAccess class literal (Foo.class) from the type identifier.

Test plan

  • ./gradlew test --tests "org.openrewrite.java.testing.junit5.AssertTrueInstanceofToAssertInstanceOfTest" — all 6 tests pass

Switch the JavaTemplate to take `Class<?>` directly and construct a
proper class literal so the resulting `assertInstanceOf` invocation
carries type info, allowing `maybeAddImport` to add the missing static
import.
@github-project-automation github-project-automation Bot moved this to In Progress in OpenRewrite May 1, 2026
@timtebeek timtebeek merged commit 6748265 into main May 1, 2026
1 of 3 checks passed
@timtebeek timtebeek deleted the tim/fix-assertinstanceof-test branch May 1, 2026 11:36
@github-project-automation github-project-automation Bot moved this from In Progress to Done in OpenRewrite May 1, 2026
mergify Bot added a commit to robfrank/linklift that referenced this pull request Jun 4, 2026
…rom 3.35.2 to 3.37.0 [skip ci]

Bumps [org.openrewrite.recipe:rewrite-testing-frameworks](https://github.com/openrewrite/rewrite-testing-frameworks) from 3.35.2 to 3.37.0.
Release notes

*Sourced from [org.openrewrite.recipe:rewrite-testing-frameworks's releases](https://github.com/openrewrite/rewrite-testing-frameworks/releases).*

> 3.37.0
> ------
>
> What's Changed
> --------------
>
> * Reuse `MockedStatic` for consecutive stubbings of the same class by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#1005](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1005)
> * Add RemoveJupiterMigrationSupport recipe by [`@​sullis`](https://github.com/sullis) in [openrewrite/rewrite-testing-frameworks#1006](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1006)
> * Regenerate recipes.csv by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#1007](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1007)
> * fix: retain doNothing() stubs inside lambda bodies to prevent uncompilable code by [`@​darrencilia`](https://github.com/darrencilia) in [openrewrite/rewrite-testing-frameworks#1009](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1009)
> * Migrate deprecated AssertionsForClassTypes/InterfaceTypes to Assertions by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#1010](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1010)
> * Add direct mockwebserver3 dep when only inherited from parent pom by [`@​steve-aom-elliott`](https://github.com/steve-aom-elliott) in [openrewrite/rewrite-testing-frameworks#1011](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1011)
> * Match MockWebServer.shutdown() against pre-rename type by [`@​steve-aom-elliott`](https://github.com/steve-aom-elliott) in [openrewrite/rewrite-testing-frameworks#1012](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1012)
>
> New Contributors
> ----------------
>
> * [`@​darrencilia`](https://github.com/darrencilia) made their first contribution in [openrewrite/rewrite-testing-frameworks#1009](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1009)
>
> **Full Changelog**: <openrewrite/rewrite-testing-frameworks@v3.36.0...v3.37.0>
>
> 3.36.0
> ------
>
> What's Changed
> --------------
>
> * Skip wrapper-primitive in `UseAssertSame`; rewrite via `AssertTrueComparisonToAssertEquals` by [`@​motlin`](https://github.com/motlin) in [openrewrite/rewrite-testing-frameworks#995](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/995)
> * Add unit test for JUnit6BestPractices by [`@​sullis`](https://github.com/sullis) in [openrewrite/rewrite-testing-frameworks#994](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/994)
> * Cleanup junit vintage engine by [`@​sullis`](https://github.com/sullis) in [openrewrite/rewrite-testing-frameworks#993](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/993)
> * OpenRewrite recipe best practices by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#997](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/997)
> * Fix `JUnit4to5Migration` for classes that extend `org.junit.Assert` by [`@​motlin`](https://github.com/motlin) in [openrewrite/rewrite-testing-frameworks#996](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/996)
> * Preserve newlines when converting `@CsvSource(textBlock = ...)` to `@ValueSource` by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#998](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/998)
> * Fix `EnclosedToNested` failing with "Expected to find enclosing JavaSourceFile" by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#1001](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1001)
> * Fix `assertEquals` delta misinterpreted as message in AssertJ conversion by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#1000](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1000)
> * Add JUnit 6.1 migration recipes by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#1002](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1002)
> * Handle Kotlin sources in `MockitoWhenOnStaticToMockStatic` by [`@​MBoegers`](https://github.com/MBoegers) in [openrewrite/rewrite-testing-frameworks#1003](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/1003)
>
> **Full Changelog**: <openrewrite/rewrite-testing-frameworks@v3.35.3...v3.36.0>
>
> v3.35.3
> -------
>
> What's Changed
> --------------
>
> * OpenRewrite [v8.81.6](https://github.com/openrewrite/rewrite/releases/tag/v8.81.6)
> * Cleanup Mockito AutoCloseable fields by [`@​sullis`](https://github.com/sullis) in [openrewrite/rewrite-testing-frameworks#977](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/977)
> * Preserve mockStatic when returned from helper methods by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#979](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/979)
> * Upgrade junit-bom to 6.x in JUnit 5 to 6 migration by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#978](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/978)
> * Tighten PowerMockitoMockStaticToMockito precondition to actual PowerMockito usage by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#981](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/981)
> * Fix AssertTrueInstanceofToAssertInstanceOf static import by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#984](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/984)
> * Fix `ClassCastException` for `@PrepareForTest(fullyQualifiedNames = "...")` by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#983](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/983)
> * Preserve `doNothing()` stubbings using `ArgumentCaptor.capture()` by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#988](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/988)
> * Document strictness implication of `RemoveInitMocksIfRunnersSpecified` by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#990](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/990)
> * Support `textBlock` attribute in `CsvSourceToValueSource` by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#989](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/989)
> * Skip primitive comparisons in `UseAssertSame` by [`@​timtebeek`](https://github.com/timtebeek) in [openrewrite/rewrite-testing-frameworks#992](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/pull/992)
>
> **Full Changelog**: <openrewrite/rewrite-testing-frameworks@v3.35.2...v3.35.3>


Commits

* [`5b719c2`](openrewrite/rewrite-testing-frameworks@5b719c2) Extract documentation examples from tests
* [`1ca6223`](openrewrite/rewrite-testing-frameworks@1ca6223) Match MockWebServer.shutdown() against pre-rename type ([#1012](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/issues/1012))
* [`9479988`](openrewrite/rewrite-testing-frameworks@9479988) Add direct mockwebserver3 dep when only old mockwebserver dep inherited from ...
* [`4d31fbb`](openrewrite/rewrite-testing-frameworks@4d31fbb) Add recipe to migrate AssertionsForClassTypes/InterfaceTypes to Assertions (#...
* [`7cbff2a`](openrewrite/rewrite-testing-frameworks@7cbff2a) OpenRewrite recipe best practices
* [`86f2308`](openrewrite/rewrite-testing-frameworks@86f2308) fix: retain doNothing() stubs inside lambda bodies to prevent uncompilable co...
* [`45d2528`](openrewrite/rewrite-testing-frameworks@45d2528) Update Gradle wrapper 9.5.1
* [`a632e17`](openrewrite/rewrite-testing-frameworks@a632e17) Regenerate recipes.csv ([#1007](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/issues/1007))
* [`0b192ca`](openrewrite/rewrite-testing-frameworks@0b192ca) Add RemoveJupiterMigrationSupport recipe ([#1006](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/issues/1006))
* [`f3f61a6`](openrewrite/rewrite-testing-frameworks@f3f61a6) Reuse `MockedStatic` for consecutive stubbings of the same class ([#1005](https://redirect.github.com/openrewrite/rewrite-testing-frameworks/issues/1005))
* Additional commits viewable in [compare view](openrewrite/rewrite-testing-frameworks@v3.35.2...v3.37.0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

1 participant