Поскольку B берет объект a, вы можете создать новый объект A в классе BTest и переопределить метод validate, чтобы он возвращал все, что вы хотите, однажды вернув Right (a), а для покрытия левой части верните Left (a).
class BTest {
val param: Any = "22"
val a = new A{
override def validate(a:Any) = case _ => Right(a)
}
(a.validate _).expects(param).returning(Right("22"))
}
или вы можете сделать это так. Как предложено DarthBinks911 .
(a.validate _).expects(param).returning(Right("a"))
это будет нормально работать в данном сценарии, но если вы сделаете что-то вроде mockObject.something, то это даст вам исключение NullPointerException. Я бы посоветовал вам переопределить метод validate и вернуть то, что вы когда-либо захотите.