gpt4 book ai didi

javascript - 使用 ava 测试访问全局命名空间

转载 作者:行者123 更新时间:2023-12-03 07:06:46 25 4
gpt4 key购买 nike

我正在使用“ava”框架进行 react 测试,这是一段package.json:

  "babel": {
"presets": [
"es2015",
"stage-2",
"react"
]
},
"ava": {
"babel": "inherit",
"require": [
"babel-register"
]
}

测试代码:

import store from '../../app/redux/store';
import test from 'ava';
import * as c from '../../app/constants'

test('languageReducer() should correctly change the dictionary', t => {
store.dispatch({
type: c.LOCALIZE_CHANGE_DICTIONARY,
dictionary: {
a: 1,
b: 2,
c: 3
}
});

t.DeepEqual(store.getState().localizeReducer.dictionary, {a: 1, b: 2, c: 3});

t.is(10, 10);
});

并且有错误听起来像:

unsubscribeHistory = history.listen(function (location) {
^

TypeError: Cannot read property 'listen' of undefined
at middleware (/Users/nikita/WebstormProjects/crm_panel/node_modules/redux-simple- router/lib/index.js:72:33)

我应该怎么做才能让我的测试访问全局命名空间(窗口、历史记录等)?谢谢

最佳答案

您似乎正在尝试使用浏览器模块,该模块尝试使用浏览器全局历史记录,而无需在浏览器中实际运行测试。 AVA 尚未在浏览器中运行,但您可以使用 jsdom提供一个假的浏览器环境。我们有一个recipe for this .

关于javascript - 使用 ava 测试访问全局命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36795537/

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