に空である:インポートスタイルは、オブジェクトI成分を有する冗談
import React from 'react';
import * as styles from './RedComponent.css';
class RedComponent extends React.Component {
render() {
return <div className={ styles.red }></div>;
}
}
これは、テストケースである:
describe('Test suite',() => {
test('RedComponent tests',() => {
const wrapper = shallow(<RedComponent />);
});
console.log(wrapper.debug());
は
<div className={[undefined]}></div>
代わりに
を与えます<div className="RedComponent__red"></div>
私はこれが唯一の冗談のテストケースである
console.log(styles); // {default: {}}
を取得し、インポートスタイルを慰める場合。アプリがブラウザでレンダリングするとき、スタイルは未定義ではありません。
私の冗談設定:
{
"moduleFileExtensions": [
"js"
],
"moduleDirectories": [
"node_modules"
],
"moduleNameMapper": {
"\\.(css|less)$": "identity-obj-proxy"
},
"setupFiles": [
"./test-setup.js"
],
"collectCoverageFrom": [
"src/**/*.{js}",
"!**/node_modules/**"
],
"testEnvironment": "node",
"transform": {
"^.+\\.js$": "babel-jest",
"\\.(md|ttf|txt|eot|ico|otf|svg|png|gif|woff2|woff|jpeg)$": "./file-transformer.js"
}
}
冗談v21.2.1、アイデンティティ-OBJ-プロキシV3.0.0て反応v16.0.0を使用しました。
からこの 'インポートスタイルを試す」./RedComponent.css';' –
@MartinShishkovすごい動作します!これを回答として投稿できますか?また、 '' 'import * as'''がうまくいかない理由も知っていますか? –