Сопоставить аргумент объекта со свойством, равным (используя Mockk) - PullRequest
0 голосов
/ 10 февраля 2020

Я искал похожий вопрос, но не могу найти решение.

У меня есть пара экземпляров одного и того же типа объекта. В качестве простого примера, объект Pen. Этот класс содержит свойства size (Int) и color (String). Мне нужно смоделировать функцию (например, CalculatePrice), которая принимает этот тип объекта. Я хотел бы вернуть результат на основе одного из свойств .

    every { calculatePrice(pen : Pen) } returns 3
    every { calculatePrice(pen2 : Pen) } returns 4

Поскольку этот вызов вложен в другую функцию, я не могу гарантировать, что адрес объекта совпадает, поэтому я пытаюсь обойти это путем проверки значения свойства, такого как pen.size , Если есть способ убедиться, что значение объекта одинаково, а не ссылка, это также решило бы мою проблему.

Используя Mockito, я бы использовал argThat (pen - > pen.size () == 2)

Буду признателен за любые рекомендации.

...