У меня есть следующий код:
verify(javaCompiler, times(1)).writeJavaAndCompile(any(ContractCompilationUnit.class), eq(outputDirectory));
verify(javaCompiler, times(1)).writeJavaAndCompile(any(ParamCompilationUnit.class), eq(outputDirectory));
и мой код следующий:
javaCompiler.writeJavaAndCompile(new ContractCompilationUnit(), outputDirectory);
javaCompiler.writeJavaAndCompile(new ParamCompilationUnit(), outputDirectory);
Код не работает, так как кажется, что 1-ая проверка видит, что было 2 вызова на javaCompiler.writeJavaAndCompile()
. Не удается понять, что был только один вызов типа ContractCompilationUnit
типа.
Какова стандартная процедура, позволяющая избежать такого поведения (кроме необходимости писать собственный сопоставитель)?