Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon verifyzerointercations는 mockito의 다른 검증 방법과 어떻게 다른가?


verifyzerointercations는 mockito의 다른 검증 방법과 어떻게 다른가?


Mockito에서 'Verifyzerointercations'는 테스트 중에 조롱 된 객체에서 메소드 호출이 이루어지지 않도록하는 데 사용되는 전문화 된 검증 방법입니다. 이 방법은 논리 또는 불필요한 종속성의 결함을 나타낼 수있는 의도하지 않은 상호 작용을 방지함으로써 단위 테스트의 순도를 유지하는 데 중요합니다.

다른 검증 방법과의 차이

1. 목적과 행동 :
-`verifyzerointercations ':이 메소드는 조롱 된 객체에 메소드 호출이 이루어지지 않았는지 확인합니다. 메소드 호출이 감지되면 Mockito는 예외를 던져 테스트가 실패합니다. 테스트 실행 중에 모의 객체가 손대지 않은 상태로 남아 있다고 주장하는 데 사용됩니다 [1] [4].
-`verify ':이 메소드는 특정 메소드 호출이 예상대로 발생하는지 확인하는 데 사용됩니다. 이를 통해 특정 인수가있는 메소드가 호출되었는지 확인하고`times ()`,`atleast ()`및`atmost ()`와 같은 다양한 검증 모드와 함께 사용할 수 있습니다 [2] [7].

2. 검증 모드 :
-`verifyzerointermations '는 검증 모드를 지원하지 않습니다. 그것은 단순히 상호 작용이 없는지 확인합니다.
-`verify '는`times ()`,`atleast ()`,`atleastonce ()`및`atleastonce ()`및`atleastonce ()`와 같은 다중 검증 모드를 지원하며, 메소드를 [2] [7]라고 불러야하는 횟수를 지정할 수 있습니다.

3. 호출 순서 :
- 'verifyzerointercations'는 상호 작용이 전혀 없는지 확인하기 때문에 메소드 호출 순서와 관련이 없습니다.
- 'verify'는`interd '와 함께 사용하여 모의 개체에서 메소드 호출 순서를 확인할 수 있습니다. 이것은 메소드 호출 순서가 중요 할 때 유용합니다 [2] [7].

4. 사용 사례 :
- 'Verifyzerointercations'는 일반적으로 테스트 시나리오에서 모의 ​​객체를 전혀 사용하지 않으려면 일반적으로 사용됩니다. 이것은 시험중인 장치를 분리하고 예상치 못한 상호 작용으로 인해 부작용이 발생하지 않도록하는 데 도움이됩니다 [1] [4].
- 'verify'는 객체간에 특정 상호 작용이 발생하는지 확인 해야하는 시나리오에서 사용됩니다. 시험중인 시스템의 예상 동작을 테스트하는 것이 필수적이다 [2] [7].

5. 'verifynomoreintercations'와의 관계 :
-`verifyzerointractions '는 상호 작용이 전혀 발생하지 않았는지 확인합니다.
-`verifynomoreintercations '는 모의 객체의 모든 상호 작용이 확인되었는지 확인합니다. 특정 메소드 호출에 'verify'를 사용한 후에도 검증되지 않은 상호 작용이 남아 있지 않도록합니다 [3] [9].

요약하면, 'Verifyzerointercations'는 상호 작용이 발생하지 않도록하는 데 중점을 둔 특수한 방법이며, 'verify'는보다 다재다능하므로 특정 상호 작용과 주파수를 확인할 수 있습니다. 두 방법 모두 Mockito를 사용한 단위 테스트에서 필수적이며 테스트 시나리오에 따라 다른 목적을 제공합니다.

인용 :
[1] https://www.dhiwise.com/post/how-to-use-verifyzerointercations-for-better-flutter-tests
[2] https://www.dhiwise.com/post/mas
[3] https://stackoverflow.com/questions/52396683/difference-between-verifynomoreintercations and-verifyzerointercations-in-mockit
[4] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.mockito.verifyzerointercations
[5] https://stackoverflow.com/questions/64239160/using-mockito-when-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