Это очень странная проблема. Я думаю, что нам нужно больше информации, так как она должна работать правильно. Я попытался воспроизвести его, используя JUnit 4.4 и Hamcrest 1.1 (немного старше, но это то, что я использую в моем текущем проекте, так что его было легко протестировать), и он работал отлично.
Единственное отличие, которое я заметил, это то, что мой Eclipse импортировал org.hamcrest.Matchers.lessThan
вместо org.hamcrest.number.OrderingComparisons.lessThan
, но когда я использовал последний, он также работал безупречно.
Это может быть вызвано тем, что вы используете старую версию Hamcrest или JUnit (какие версии вы на самом деле используете? Вы еще не упомянули об этом). Странно то, что вы получили ошибку, даже если вы добавили явное приведение к Integer
. Это интересно, и это может быть полезно, когда вы публикуете эту ошибку ...
В любом случае, он должен работать идеально, так как нет синтаксических ошибок или чего-то еще, поэтому причиной должна быть ваша настройка.