Let’s say we have the following test code:
JavaScript
x
import org.jetbrains.annotations.NotNull;
import org.junit.Test;
public class NullTest {
@Test
public void testNull() {
doNothing(null);
}
private @NotNull String doNothing(@NotNull String value) {
return value;
}
}
The test will pass when running gradle test
directly or if IDEA delegates the action to gradle.
But it will fail with IllegalArgumentException: Argument for @NotNull parameter 'value' must not be null
exception if it runs using IDEA runner (not delegated to gradle).
The question is: how to fail the test running it with gradle?
Advertisement
Answer
The easiest solution I have found is to apply org.jetbrains.intellij plugin. Because among other things this plugin “patches compile tasks to instrument code with nullability assertions”.
JavaScript
apply plugin: 'org.jetbrains.intellij'
intellij {
instrumentCode = true
downloadSources = false
}