В Mockito «VerifyzerOinterActions» - это специализированный метод проверки, используемый для обеспечения того, чтобы не выполнялись вызовы метода на высмеиваемом объекте во время теста. Этот метод имеет решающее значение для поддержания чистоты единичных тестов путем предотвращения непреднамеренных взаимодействий, которые могут указывать недостатки в логических или ненужных зависимостях.
отличия от других методов проверки
1. Цель и поведение:
- `veserifyzerointerActions`: этот метод проверяет, что на вызовах метода не было сделано издевательного объекта. Если обнаружен какой -либо вызов метода, Mockito бросает исключение, вызывая сбой тестирования. Он используется, чтобы утверждать, что фиктивный объект остается нетронутым во время выполнения теста [1] [4].
- `verify`: этот метод используется для проверки того, что конкретные вызовы метода происходят, как и ожидалось. Это позволяет вам проверить, был ли вызван метод с конкретными аргументами и может использоваться с различными режимами проверки, такими как `times ()`, `Atore ()` и `atst ()`, чтобы указать количество вызовов [2] [7].
2. Режимы проверки:
- `VerifyzerOinterActions` не поддерживает режимы проверки. Это просто проверяет отсутствие каких -либо взаимодействий.
- `werify` поддерживает несколько режимов проверки, таких как` times () `,` atore () `,` atleastonce () `и` atsome () `, позволяя вам указать, сколько раз следует вызывать метод [2] [7].
3. Порядок вызова:
- `veserifyzerointerActions` не касается порядка вызовов методов, поскольку он вообще проверяет отсутствие взаимодействия.
- `revify` может использоваться с` inorder`, чтобы проверить порядок вызовов метода на фиктивных объектах. Это полезно, когда важна последовательность вызовов методов [2] [7].
4. Примеры использования:
- `veserifyzerointerActions` обычно используется, когда вы хотите убедиться, что фиктивный объект вообще не используется в тестовом сценарии. Это помогает в изоляции тестового устройства и обеспечении того, чтобы никаких побочных эффектов не произошло из -за неожиданных взаимодействий [1] [4].
- `verify` используется в сценариях, где вам необходимо подтвердить, что между объектами возникают конкретные взаимодействия. Это важно для тестирования ожидаемого поведения тестируемой системы [2] [7].
5. Отношения с `verifynomoreinteractions`:
- `VerifyzerOinterActions` проверяет, что никаких взаимодействий не произошло вообще.
- `veserifynomoreInteractions` проверяет, что все взаимодействия на макетном объекте были проверены. Это гарантирует, что после использования не осталось неверных взаимодействий после использования «проверка» для конкретных вызовов метода [3] [9].
Таким образом, «VerifyzerOinterActions» - это специализированный метод, ориентированный на обеспечение отсутствия взаимодействия, в то время как «Verify» является более универсальным, что позволяет вам проверить конкретные взаимодействия и их частоту. Оба метода необходимы для единичных тестирования с Mockito, служат различным целям в зависимости от сценария испытаний.
Цитаты:[1] https://www.dhiise.com/post/how-to-use-verifyzerointeractions-for-better-flutter-tests
[2] https://www.dhiise.com/post/mastering-unit-testing-a-complete-guide-to-mockito-verify
[3] https://stackoverflow.com/questions/52396683/difference-between-verifynomoreinteractions-and-verifyzerointeractions-in-mockit
[4] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.mockito.verifyzerointerActions
[5] https://stackoverflow.com/questions/64239160/using-mockito-hen-to-mock-and-verify-vs-mockito-verify
[6] https://www.javacodegeeks.com/2015/11/mockito-verification.html
[7] https://www.toptal.com/java/a-guide-to-everyday-mockito
[8] https://www.baeldung.com/mockito-verify
[9] https://www.digitalocean.com/community/tutorials/mockito-verify