【发布时间】:2021-08-08 10:29:49
【问题描述】:
我正在尝试测试这个功能:
export const validateName = (rule, value, callback) => {
let re = new RegExp(nameRegex)
if (value && !value.match(re)) {
callback(i18n.t('name_validation'))
}
callback()
}
export const nameRegex = '^([a-z0-9])([a-z0-9.-]*)$'
基本上,该函数将检测是否在表单中使用该函数的输入中输入了特殊字符。
我使用 jest 作为测试库,我有这个:
describe('Test suite', () => {
it('My test case', (done) => {
function callBack(data) {
try {
expect(data).toBe(i18n.t('name_validation'))
done()
} catch (error) {
done(error)
}
}
validateName('name', '.', callBack)
console.log(validateName('name', '.', callBack))
})
})
到目前为止,我得到的一切都是返回未定义的。
Expected: "Only lowercase letters, numbers and \"-\" are allowed!"
Received: undefined
我已经挣扎了几天尝试一切都没有成功,任何帮助将不胜感激
【问题讨论】:
标签: reactjs testing jestjs ts-jest