У меня есть класс транзакций, который имеет метод проверки. В методе есть условие, которое, если выполнено, не будет вызывать метод уведомления о предупреждениях. Метод оповещения будет вызываться только тогда, когда условие проверки не выполнено (условие ложно, вызывает предупреждение и уведомляет пользователя). Я хочу протестировать тест Junit, если этот метод оповещения вызван или нет. Мог бы кто-нибудь посоветовать, как действовать, когда я новичок в JunitsJunit, чтобы проверить, вызван ли вызов метода
ответ
Используйте рамки Mockito. Эта структура делает ваш вид тестирования намного проще.
Вы можете использовать verify
метод:
//Check if called once
verify(dependency, times(1)).yourMethod()
Проверьте API для более informations.
Посмотрите на насмешливые библиотеки. В Mockito это будет как
Notifier mock = Mockito.mock(Notifier.class);
ClassUnderTest myClass = new ClassUnderTest(mock);
myClass.doSomething(-1);
Mockito.verify(mock).notification(Mockito.eq("Negative value passed!"));
myClass.doSomething(100);
Mockito.verifyNoMoreInteractions(mock);
Чтобы уточнить, 'Mockito.verify (mock) .close();' это те тесты, которые вызвал метод. – Kayaman
Спасибо за ответ. поэтому у меня должно быть условие в моем методе Junit, а затем вызывать метод из условия и издеваться над вызовом метода? – JaveDeveloper
Надеюсь, мой пример должен пролить больше света. – vrudkovsk
Из Вашего вопроса не ясно, принадлежит ли предупреждение способ уведомления в одном классе вы тестируете.
Если метод уведомления о тревоге - в другом классе, чем метод, который вы тестируете, вы можете использовать насмешливую библиотеку, такую как Mockito, для проверки вызова метода, как предложено другими ответами.
Если, с другой стороны, способ уведомления является в том же классе как метод проверки, я бы посоветовал не проверить вызов метода уведомления, но проверить выход этого метода (вы, вероятно, захотите также использовать насмешливую библиотеку для этого, но для проверки вызовов методов на любых других объектах, используемых для создания предупреждения).
Третья возможность заключается в том, что оба метода находятся в одном классе, но вы действительно хотите только чтобы проверить, что метод уведомления вызван, а не его вывод, потому что вы считаете, что уведомление - это другая функция, которую вы хотите протестировать отдельно. Это будет признаком того, что ваш класс может делать слишком много вещей и что лучше всего реорганизовать так, чтобы эти методы попадали в отдельные классы.
Да, метод находится в другом классе (не в методе, для которого я буду писать тестовый пример) – JaveDeveloper
- 1. Как проверить, вызван ли вызов метода с аргументами RSpec
- 2. JUnit: вызов метода игнорирования
- 3. JUnit - проверить, что метод был вызван
- 4. JUnit Easymock Неожиданный вызов метода
- 5. Проверить вызов статического метода
- 6. Вызов динамического метода класса JUNIT
- 7. Junit - тестовый вызов obj.wait()
- 8. Как проверить, вызван ли метод java.lang.Math?
- 9. JUnit: проверка, вызван ли метод void
- 10. Проверьте, вызван ли метод внутри другого метода
- 11. Как проверить, вызван ли блок
- 12. jUnit Неожиданный вызов метода DAO Easymock
- 13. Вызов метода, если вызван другой метод
- 14. Как проверить, вызван ли метод внутри другого метода
- 15. Как узнать, вызван ли вызов метода из тестового класса
- 16. Проверьте, вызван ли вызов метода другим методом с использованием Moq
- 17. Используйте Powermockito, чтобы проверить, вызван ли частный метод или нет
- 18. Как проверить идемпотентность метода с помощью junit?
- 19. Junit: вызов частного метода без примера
- 20. Как проверить, вызван ли метод?
- 21. Как издеваются вызов для внутреннего метода JUnit
- 22. Rspec: как я могу проверить, вызван ли вызов метода другого класса?
- 23. Вызов метода JUnit assertTrue(), не хватает ли объекта?
- 24. Как использовать Machine.Fakes.Moq, чтобы проверить, вызван ли метод?
- 25. Как проверить, вызван ли свободный метод обслуживания
- 26. Java-Junit/непонимание метода Junit
- 27. Почему нужно проверить, вызван ли метод?
- 28. Проверить, вызван ли метод элемента списка
- 29. JUnit test case, чтобы проверить, был ли файл создан
- 30. UnitTest, чтобы проверить, содержат ли методы в решении метод-вызов
Это не совсем так, как есть. Почему бы вам не добавить код mockito для проверки того, что метод вызван, и я дам вам +1. – Kayaman