[jvm] Split JUnit usage provider per framework

Will allow for disabling them individually. #IDEA-346510 Fixed

GitOrigin-RevId: 7b879111b92f38a7a55166d67d657520c6d9314d
This commit is contained in:
Bart van Helvert
2024-03-11 23:51:14 +01:00
committed by intellij-monorepo-bot
parent 7da501ece2
commit f896419d92
28 changed files with 595 additions and 282 deletions

View File

@@ -0,0 +1,21 @@
package com.intellij.codeInspection.deadCode
import com.intellij.jvm.analysis.internal.testFramework.deadCode.AssertJImplicitUsageProviderTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
class JavaAssertJImplicitUsageProviderTest : AssertJImplicitUsageProviderTestBase() {
fun `test inject soft assertion implicit usage provider`() {
myFixture.testHighlighting(JvmLanguage.JAVA, """
@org.junit.jupiter.api.extension.ExtendWith(org.assertj.core.api.junit.jupiter.SoftAssertionsExtension.class)
public class TestClass {
@org.assertj.core.api.junit.jupiter.InjectSoftAssertions
private org.assertj.core.api.SoftAssertions softAssertions;
@org.junit.jupiter.api.Test
public void doSomething() {
softAssertions.assertThat("string").isEqualTo("string");
}
}
""".trimIndent(), fileName = "TestClass")
}
}

View File

@@ -0,0 +1,22 @@
package com.intellij.codeInspection.deadCode
import com.intellij.jvm.analysis.internal.testFramework.deadCode.EasyMockImplicitUsageProviderTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
class JavaEasyMockImplicitUsageProviderTest : EasyMockImplicitUsageProviderTestBase() {
fun `test implicit usage for mocked field`() {
myFixture.testHighlighting(JvmLanguage.JAVA, """
public class MyEasyMockTest {
@org.easymock.Mock
private String myFoo;
{
System.out.println(myFoo);
}
@org.junit.Test
public void testName() throws Exception { }
}
""".trimIndent(), fileName = "MyEasyMockTest")
}
}

View File

@@ -0,0 +1,22 @@
package com.intellij.codeInspection.deadCode
import com.intellij.jvm.analysis.internal.testFramework.deadCode.MockitoImplicitUsageProviderTestBase
import com.intellij.jvm.analysis.testFramework.JvmLanguage
class JavaMockitoImplicitUsageProviderTest : MockitoImplicitUsageProviderTestBase() {
fun `test implicit usage for mocked field`() {
myFixture.testHighlighting(JvmLanguage.JAVA, """
public class MyMockitoTest {
@org.mockito.Mock
private String myFoo;
{
System.out.println(myFoo);
}
@org.junit.Test
public void testName() throws Exception { }
}
""".trimIndent(), fileName = "MyMockitoTest")
}
}