Тест Jasmine (unit?) Я запускаю работы для всех тестов с моим кодом ниже, но последний тест дважды вызывает Gigasecond.date(), затем проверяет второй, что не удается.Почему эта функция Javascript не работает, если вызывается дважды?
var Gigasecond = function(date) {
this.startDate = date;
};
Gigasecond.prototype.date = function() {
var x = this.startDate;
x.setSeconds(x.getSeconds() + 1000000000);
return x;
}
module.exports = Gigasecond;
Я думаю, я не знаю, почему это не удается. Когда я вхожу на консоль, я вижу, что дата увеличивается в два раза, но думает, что x
- это отдельная переменная, которая создается/уничтожается при каждом вызове функции. Но, похоже, это не так. Есть x
только ссылку на фактическое поле .startDate
на объект? Есть ли справочный материал, как это работает? Я огляделся, но не смог найти ничего, что относится к тому, что происходит в этом коде.
Там нет 'функция Gigasecond.date' в вашем коде. – zerkms
и где на самом деле ваш единичный тест, который терпит неудачу? – smnbbrv
Как вы называете эту функцию? Как вы тестируете значение, которое, по вашему мнению, увеличивается в два раза? – Quentin