javascript - TypeError (Jest Test) 为什么这个测试会失败?错误说函数不是函数
问题描述
TypeError: (0 , _validators.validateEmail)(...).toBe 不是函数
是错误
这是我的测试
// Utils
import { validateEmail, validatePassord } from './validators';
describe('validating email addresses', () => {
it('should return true with a valid email', () => {
expect(validateEmail('test@email.com').toBe(true));
});
it('should return false with an invalid email', () => {
expect(validateEmail('badEmail').toBe(false));
});
});
它正在测试的实用程序
export const validateEmail = email => /@google.com\s*$/.test(email);
export const validatePassord = (password) => {
const hasSpecial = /[!]+/.test(password);
const hasAlpha = /[a-zA-Z]+/.test(password);
const hasUppercase = /(?=.*[A-Z])+/.test(password);
const hasNumber = /[0-9]+/.test(password);
const hasMinChars = password.length >= 8;
return hasSpecial && hasAlpha && hasUppercase && hasNumber && hasMinChars;
};
它们在同一个目录中。错误输出:
解决方案
尝试将您的括号移动到类似...
expect(validateEmail('test@email.com')).toBe(true);
或类似的东西用于第二次测试
expect(validateEmail('badEmail')).toBe(false);
推荐阅读
- node.js - NodeJS - 如何在 Windows 10 上正确安装和运行 Webpack?
- c# - 如何在 Visual Studio 2017 中查找派生类?
- ios - 配置文件不包括 aps-evironmentProd、Xcode 10.1
- c# - 如何在 C# 中同步等待事件的结果?
- python - 分水岭分割不包括单独的对象?
- vuejs2 - Vuejs Computed Property 警告我没有设置器
- r - jsonlite 和 rjson 包之间的根本区别是什么?
- node.js - docker找不到本地nodejs模块
- python - 基于交互式参数值存储函数的输出
- c - 从C中的无符号整数末尾抓取'n'二进制位?位掩蔽?