Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用Jest测试时,classnames_1.default不是函数_Reactjs_Unit Testing_Jestjs_Es6 Modules_Class Names - Fatal编程技术网

Reactjs 使用Jest测试时,classnames_1.default不是函数

Reactjs 使用Jest测试时,classnames_1.default不是函数,reactjs,unit-testing,jestjs,es6-modules,class-names,Reactjs,Unit Testing,Jestjs,Es6 Modules,Class Names,当使用classnames()库时,我面临在Jest上运行测试用例的问题: 它抛出错误:classnames\u 1。默认值不是函数 它正在使用网站本身的网页包。。所以我不想更改导入 我可以选择模拟类名进行测试,以提供类似的行为。还有别的办法解决这个问题吗 有人面临过这个问题吗? 下面是我在package.json中的jest配置: “开玩笑”:{ “全球”:{ “API_主机”:“”, “DEV”:错误 }, “转变”:{ “(ts | tsx)”:“/node_modules/XXX fra

当使用classnames()库时,我面临在Jest上运行测试用例的问题:

它抛出错误:classnames\u 1。默认值不是函数

它正在使用网站本身的网页包。。所以我不想更改导入

我可以选择模拟类名进行测试,以提供类似的行为。还有别的办法解决这个问题吗

有人面临过这个问题吗?

下面是我在package.json中的jest配置:

“开玩笑”:{
“全球”:{
“API_主机”:“”,
“DEV”:错误
},
“转变”:{
“(ts | tsx)”:“/node_modules/XXX framework/jestTypeScriptPreProcessor.js”
},
“testRegex”:“(/tests/*.\(test | spec))\(js | jsx | ts | tsx)$”,
“transformIgnorePatterns”:[],
“moduleFileExtensions”:[
“ts”,
“tsx”,
“js”,
“json”
],
“自动模拟”:错误,
“clearMocks”:没错,
“重置模拟”:是的,
“覆盖率阈值”:{
“全球”:{
“分支机构”:50,
“职能”:50,
“行”:50,
“声明”:50
}
},
“模块路径”:[
“/src”,
“/node\u modules/XXX framework/src”
],
“unmockedModulePathPatterns”:[
“/node_modules/react/”,
“/node_modules/react dom/”,
“/node_modules/react addons test utils/”,
“/node_modules/enzyme/”,
“/node_modules/XXX framework/”
]
}


谢谢

您可能正在使用
css加载器
,因此它可以与Webpack一起使用。问题是Jest没有使用
CSS loader
加载您的CSS文件,您有责任告诉Jest如何加载CSS文件。一种方法是使用

执行npm i-D identity obj代理程序(如果愿意,也可以使用Thread进行安装)

并将此配置添加到Jest配置文件中

"moduleNameMapper": {
  "^.+\\.css$": "identity-obj-proxy"
}

您可以在中找到更多详细信息。

我不想在测试中看到css样式。。我只是想看看元素在加载时是否有特定的类。classnames是一个简单的js库,用于根据参数返回单个类名字符串。它是js格式的,因此甚至不需要从typescript文件转换为javascript文件。您是否介意在此处粘贴有关如何使用
类名的代码?您是否以任何方式解决了此问题?