gpt4 book ai didi

javascript - 更改 Mocha/Karma 堆栈中的 window.location.href

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

我正在使用 Karma/Mocha 作为我的测试环境。我有 js 文件,它依赖于 window.location.href 来获取 url。当我使用 Karma 运行测试时,默认 url 是 www.localhost:3123/context.html。是否可以更改 url/添加参数或告诉 karma 使用此特定测试套件的自定义 url?

//JS file has
function populate(){
var url = new URL(window.location.href);
-- check if the url have parameter, lets say carInfo
-- if has then dispatches an event
}

//Mocha test
describe('...', function() {
it ('...', function() {
-- call populate()
-- listen if the event was triggered
})
})

最佳答案

通常,尝试分离代码中的依赖项,以便您能够在测试中交换这些依赖项。这背后的概念称为“控制反转”。您还可以考虑考虑依赖注入(inject)

在您的具体情况中,window.location.href是特定于特殊环境(浏览器)的依赖项,在node.js或其他内容中运行测试时不存在该依赖项

function populate(url){
// trigger the event...
}

describe('...', function() {
it ('...', function() {
populate(new URL("http://...")
// listen if the event was triggered
})

})

关于javascript - 更改 Mocha/Karma 堆栈中的 window.location.href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47776721/

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