Не удается внедрить аннотированный метод @Test с помощью TestNG и JMockit

#java #testng #jmockit

#Ява #тестирование #jmockit

Вопрос:

Итак, в принципе, я хочу проверить, вызывает ли функция test() статический метод JOptionPane.showInputDialog("Enter a string.") . Это то, чего я достиг до сих пор.

Используемые библиотеки:

  1. Тест 7.4.0
  2. JMockit 1.49

Текущий тестовый код:

 package com.example;  import javax.swing.*; import org.testng.annotations.Test; import mockit.Mocked; import mockit.Verifications;  public class Activity1Test {  @Test  public void shouldShowInputDialogOnUpdateTextButtonClick(@Mocked JOptionPane jOptionPane) {  Activity1 activity1 = new Activity1();  activity1.test();   new Verifications() {{ JOptionPane.showInputDialog("Enter a string."); }};  } }  

Функция test() :

 public void test() {  JOptionPane.showInputDialog("Enter a string."); }  

К сожалению, это дает мне эту ошибку:

 ------------------------------------------------------------------------------- Test set: TestSuite ------------------------------------------------------------------------------- Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.781 s lt;lt;lt; FAILURE! - in TestSuite com.example.Activity1Test.shouldShowInputDialogOnUpdateTextButtonClick Time elapsed: 0.434 s lt;lt;lt; FAILURE! org.testng.TestNGException:   Cannot inject @Test annotated Method [shouldShowInputDialogOnUpdateTextButtonClick] with [class javax.swing.JOptionPane]. For more information on native dependency injection please refer to https://testng.org/doc/documentation-main.html#native-dependency-injection