使用 Jest 进行 UI 单元测试

时间:2020-12-25 04:08:15

标签: javascript unit-testing jestjs ui-testing

我正在尝试设置 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 测试只关注较大的组件?

0 个答案:

没有答案