Во-первых, в вашем примере вы используете @NonNull
, но я предполагаю, что вы имели в виду @NotNull
, так как это правильная аннотация, используемая Kotlin.
Во-вторых, я предполагаю, что вы подходите к написаниютестирует в Kotlin, но все еще использует эти функции в коде Java.В противном случае, если ваша кодовая база только на Kotlin, этот тест не имеет смысла.
В-третьих, если вы попытаетесь присвоить null
параметру @NotNull
, вы должны получить IllegalArgumentException
, а не InvalidParameterException
Наконец, вы можете использовать типы платформ для симуляции этой ситуации:
// This should be a Java class
public class Nulls {
public static final DeviceEventListener NULL_DEVICE_EVENT_LISTENER = null;
}
// In Kotlin
deviceTest.addEventListener(Nulls.NULL_DEVICE_EVENT_LISTENER, testCompletionListener)
Но так как Nulls
в любом случае является классом Java, вы можете просто оставить весь тест как Java,как было предложено в комментариях.