#typescript #jestjs #testcase
#машинописный текст #jestjs шутки #тестовый кейс #typescript #jestjs #тестовый пример
Вопрос:
это функция машинописного текста. Я хочу написать тестовый пример для этого.
FUNCTION # 1:- TO CALCULATE DAYS LEFT IN NEXT BIRTHDAY
let daysLeft=('Birthday on ' moment(date).format("D MMM") ' (in ' moment(moment(date)).add(moment(moment().format("YYYY-MM-DD")).diff(moment(date), "years") 1, "years").diff(moment().format("YYYY-MM-DD"), "days") ' days)');
if (birthday === today){
return ('Today is a big day!')
}
else {return daysLeft;}
}
FUNCTION # 2:- TO CALCULATE THE AGE
const ageCalculate = (date: any) : any => {
return ( moment(moment().format("YYYY-MM-DD")).diff(moment(date), "years"));
}
Комментарии:
1. Привет, Марьям, это весь код в вашей функции? Или вы просто хотите протестировать
ageCalculate
? В любом случае, похоже, что здесь отсутствует некоторая информация. Если это код внутри вашей функции, я не думаю, что он будет работать так, как вы этого ожидаете. Поскольку у вас есть оператор if / else, который оба возвращает что-то, вы никогда не достигнете области, где он вычисляет ageCalculate.2. Здравствуйте, это две саперные функции. В первой функции я считаю дни, оставшиеся до дня рождения. Во второй функции я вычисляю возраст. Я хочу написать тесты для обеих этих функций.
Ответ №1:
Вот как мне нравится тестировать свои функции в классе. Я создаю test
папку в корне моего проекта и создаю какой-то classYouAreTesting.spec.ts
файл.
В этом файле у меня был бы следующий код
//import whatever you need
describe("Birthday class tests", () => {
it("Today is my birthday", () => {
//birthday class initializes to some arbitrary date, let's say "01-01-1994"
const birthday = new Birthday();
//getBirthday will return a string representation of the date
const result = birthday.getBirthday();
expect(result).toEqual("01-01-1994");
});
});
Ответ №2:
Я смог сделать это сам. Решение приведено ниже:
test('Checking days left in next bday', () => {
expect(functions.daysleft('2016-04-10')).toBe(1);
});
test('Checking days left in next bday', () => {
expect(functions.ageCalculate('1990-04-10')).toBe(28);
});