Mockito verifica la última llamada en un objeto burlado

Tengo un poco de lógica que necesita ser probada como:

{
    ...
    A.add("1");
    ...
    A.add("what ever");
    ...
    A.add("2");
    A.delete("5");
    ...
}

Ya me he burlado de A en mi prueba y puedo probar que el método de agregar se llama una vez en el argumento ("2") como:

Mockito.verify(mockedA).add("2");

Mi pregunta es cómo puedo probar si puedo verificar que la última llamada al método add es add ("2") en lugar de otros argumentos.

Dado que la prueba anterior no puede detectar si alguien agrega accidentalmente otra llamada como add ("3") en la última. Tenga en cuenta que no nos interesan otras invocaciones de métodos en A nuevamente después. Tampoco nos importan los tiempos del método llamado, la secuencia de los métodos llamados. @l punto clave aquí es si podemos verificar el último argumento verdadero sobre un método determinado de un objeto objeto simulado determinado.

Si pregunta por qué necesita dicha funcionalidad, diría que en el mundo real podríamos necesitar manejar alguna lógica que establezca algo y el último conjunto gana, y para evitar que alguien accidentalmente establezca otra cosa inesperada y yo ' Me gustaría usar nuestro UT para captar esto. Y para no hacer que la prueba sea demasiado compleja y ordenada, por lo que solo espero verificar la última llamada en un determinado método de un objeto, en lugar de verificar algo como order / noMoreInteractions / AtMostTimes y así sucesivamente.

Respuestas a la pregunta(3)

Su respuesta a la pregunta