gpt4 book ai didi

unit-testing - 由于 webpack 中的 css,Mocha 测试失败

转载 作者:行者123 更新时间:2023-12-03 12:54:42 24 4
gpt4 key购买 nike

我是 Mocha 新手,我正在尝试使用它来测试一个简单的 React 组件。如果 React 组件没有任何 CSS 样式,则测试将通过,但如果 R​​eact 组件中的标签包含任何 className,则抛出语法错误:

测试.react.js

import React from 'react';

export default class Testing extends React.Component {
render() {
return (
<section>
<form>
<input type="text" />
</form>
</section>
);
}
}

测试.jsx

import {
React,
sinon,
assert,
expect,
TestUtils
} from '../../test_helper';

import TestingSample from '../../../app/components/Testing.react.js';

describe('TestingSample component', function(){
before('render and locate element', function(){
var renderedComponent = TestUtils.renderIntoDocument(
<TestingSample />
);

var inputComponent = TestUtils.findRenderedDOMComponentWithTag(
renderedComponent, 'input'
);

this.inputElement = inputComponent.getDOMNode();
});

it('<input> should be of type "text"', function () {
assert(this.inputElement.getAttribute('type') === 'text');
});
})

测试将通过:

> mocha --opts ./test/javascripts/mocha.opts --compilers js:babel/register --recursive test/javascripts/**/*.jsx


TestSample component
✓ <input> should be of type "text"


1 passing (44ms)

在输入标记内添加 className 后,出现错误:

import React from 'react';
import testingStyle from '../../scss/components/landing/testing.scss';

export default class Testing extends React.Component {
render() {
return (
<section>
<form>
<input type="text" className="testingStyle.color" placeholder="Where would you like to dine" />
</form>
</section>
);
}
}

测试结果:

SyntaxError: /Users/../../../Documents/project/app/scss/components/landing/testing.scss: Unexpected token (1:0)
> 1 | .color {
| ^
2 | color: red;
3 | }

我已经在网上搜索过,但到目前为止还没有运气。我错过了什么吗?请帮助我或指出我正确的方向将不胜感激。我目前正在使用:
节点 Express 服务器
react
react 路由器
网页包
通天塔
Mocha

诗农
兴农柴

最佳答案

有一个 babel/register 样式 Hook 来忽略样式导入:

https://www.npmjs.com/package/ignore-styles

安装它:

npm install --save-dev 忽略样式

运行不带样式的测试:

mocha --需要忽略样式

关于unit-testing - 由于 webpack 中的 css,Mocha 测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32236443/

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