我正在尝试设置 Jest 以进行测试。所有需要测试的代码都是由 Laravel Mix 打包的纯 UI 代码,而且很多理论上可以很容易地进行单元测试。我已经读到命名空间存在一些问题,并且这个库确实使用了命名空间……但是,老实说,我还没有走到那一步。
(顺便说一句,我的大部分测试经验来自 PHPUnit 和 JUnit。这是我第一次用 JavaScript 编写测试套件。)
我在设置测试时遇到困难,我不确定问题是我不习惯 Jest 设置要求,还是 Jest 只是不适合这项工作的工具。
例如,这是库中的一个简单示例函数,用于获取数组的大小(即使它是“关联”数组):
general.utils.sizeArray = function (arr)
{
if (typeof arr.length != 'undefined') {
return arr.length;
}
var size = 0;
for (var x in arr) {
size++;
}
return size;
}
此功能的单元测试用例很容易识别。
我无法使用“require”将代码放入测试中,因为它不导出模块……实际上,这被组合成一个 .js 文件,作为脚本包含在网页。
Jest 中基于 UI 的测试似乎围绕组件测试展开,这绝对是我对代码库的不同部分(例如可重用的字段组件)所需要的东西。但我希望对这样的函数进行更细粒度的测试,以便更容易地识别错误......
我在这里遗漏了什么明显的东西吗?有没有办法将 UI javascript 导入 Jest 测试以进行我忽略的单元测试?还是期望 UI 测试只关注较大的组件?