Модульное тестирование номера с should.js не удается - PullRequest
3 голосов
/ 04 февраля 2012

У меня есть класс (mongoose) (этот синтаксис coffeescript):

Entry = new mongoose.Schema
   duration: Number

Я явно устанавливаю свойство duration с целым числом (или десятичным, результат тот же):

entry = new Entry
entry.duration = 1

Я сохраняю эту сущность mongoose:

entry.save

Но при тестировании полученной сущности, возвращаемой findOne, я не могу получить свойство duration для прохождения моего модульного теста:

doc.duration.should.eql 1

Это всегда возвращает:

AssertionError: expected 1 to equal 1

Как уже говорилось ранее, я получаю этот результат со значением 1 или 1,5. Документ, возвращаемый findOne, является именно той сущностью, которую я сохранил только что.

Что я делаю не так?

1 Ответ

4 голосов
/ 03 апреля 2012

Правильный способ модульного тестирования свойства типа Number в классе схемы Mongoose:

doc.duration.valueOf().should.eql 1

Таким образом, вызов метода valueOf () для свойства возвращает значение свойства. Простое возвращение свойства возвращает объект.

...