Вам необходимо использовать свойство JsonPropertyAttribute.ItemConverterType
:
class Example2
{
[JsonProperty (ItemConverterType = typeof(StringEnumConverter))]
public IList Sizes { get; set; }
}
findByJobIdAndParam принимает 2 аргумента:
status = StatusObj.findByJobIdAndParam(getId(), param)
Ваша заглушка занимает 1 аргумент:
StatusObj.findByJobIdAndParam(_) >> 2
Попробуйте изменить заглушку следующим образом:
[ 112]Попробуйте что-то вроде этого:
@Unroll
class JobSpec extends Specification {
def "spec"() {
when:
GroovySpy(StatusObj, global: true)
def job = new Job(id: "ID")
def param = "test"
1 * StatusObj.withTransaction(_) >> { Closure action ->
action.call()
}
1 * StatusObj.findByJobIdAndParam(job.id, param) >> status
then:
job.isStale(param) == isStale
where:
status | isStale
0 | false
1 | true
2 | true
}
}
Здесь action
- ваш status = StatusObj.findByJobIdAndParam(getId(), param)
из Job
класса. Как это работает, можно найти в разделах Вычисление возвращаемых значений и Выполнение побочных эффектов в документации Спока. Также обратите внимание, что я сделал Job.getId()
работой, добавив поле id
в класс Job
. Я не уверен, как это реализовано в вашем коде