#java #testng #jmockit
#Ява #тестирование #jmockit
Вопрос:
Итак, в принципе, я хочу проверить, вызывает ли функция test() статический метод JOptionPane.showInputDialog("Enter a string.")
. Это то, чего я достиг до сих пор.
Используемые библиотеки:
- Тест 7.4.0
- 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