gpt4 book ai didi

javascript - 请建议使用 jest 对这两个功能进行单元测试的正确方法

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:22 24 4
gpt4 key购买 nike

如何进行单元测试以获得最大覆盖率?我应该添加 try catch block 以便检查失败吗?

var d = new Date();
month = getCurrentMonth(d);
day = getCurrentDay(d);

function getCurrentMonth(d) {
a = d.getMonth() + 1;
return (a < 10) ? '0' + a.toString() : a.toString();
}

function getCurrentDay(d) {
b = d.getDate() - 1;
return (b < 10) ? '0' + b.toString() : b.toString();
}

最佳答案

首先,getCurrentDay 函数中有一个小错误,您不需要减去 1。

这里我写了所有需要的测试,你有什么问题吗?最重要的是你应该为测试提供常量日期。不是静态的日期会随着时间的推移而改变。 (例如,您不应使用不带参数的 new Date())

function getCurrentMonth(d){
a=d.getMonth()+1;
return (a< 10) ? '0' + a.toString() : a.toString();
}

function getCurrentDay(d){
b=d.getDate();
return (b< 10) ? '0' + b.toString() : b.toString();
}

test('should add 0 before month if contains 1 number', () => {
let d = new Date('2020-01-01T10:10:00Z')
expect(getCurrentMonth(d)).toBe("01");
});

test('should return month', () => {
let d = new Date('2020-10-01T10:10:00Z')
expect(getCurrentMonth(d)).toBe("10");
});

test('should add 0 before day if contains 1 number', () => {
let d = new Date('2020-01-02T10:10:00Z')
expect(getCurrentDay(d)).toBe("02");
});

test('should return day', () => {
let d = new Date('2020-10-21T10:10:00Z')
expect(getCurrentDay(d)).toBe("21");
});

关于javascript - 请建议使用 jest 对这两个功能进行单元测试的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59895379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com