gpt4 book ai didi

javascript - 隔离一个测试套件所需的 js 文件

转载 作者:行者123 更新时间:2023-12-03 02:52:16 26 4
gpt4 key购买 nike

我正在使用 karma/mocha/chrome headless 作为我的测试堆栈。

--js 1
document.addEventListener('test', ...);
do sth more.

--js 2
document.addEventListener('test', ...);
do sth more differently.

-- test suite 1
require(test1)
i am dispatching the test event here to test js 1

-- test suite 2
require(test2)
I am dispatchinh the test event here to test js 2

问题是这两个文件现在都可以在全局范围内使用。当我运行测试套件 2 时,js1 和 js2 事件都将监听我的调度,因为 js1 仍然全局可用。

我的完美场景是。将 js1 加载到测试套件 1 并将其封装在那里。 Hacky 的方法是在测试运行后将其删除。

我的问题是,如何确保所需的 js 文件在一个测试套件的范围内本地加载?基本上只加载特定测试套件的必要文件,并将它们与其余测试套件隔离。

谢谢。

最佳答案

如果我正确理解了问题,您想将模块范围限制到相关的测试文件吗?

如果是这种情况,那么您可以像这样加载模块:

const sharedModule = require('some/shared/module');

describe('some test', function() {
const scopedModule = require('some/path/to/module');

it('should...', function() {
// Test code...
})

)

这将导致仅当测试开始执行时才加载您的模块,并将其范围限制在该 block 内。

关于javascript - 隔离一个测试套件所需的 js 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47796153/

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