2017-09-14 5 views
1

node-mysql2, react, sequelize 및 jest를 사용하여 프로젝트를 테스트하는 데 문제가 있습니다. 이 문제는 테스트 중에 만 발생합니다.인코딩이 jest.js에서 인식되지 않습니다.

Encoding not recognized: 'cesu8' (searched as: 'cesu8') 
    at Object.getCodec (project/node_modules/mysql2/node_modules/iconv-lite/lib/index.js:106:23) 
    at Object.getDecoder (project/node_modules/mysql2/node_modules/iconv-lite/lib/index.js:122:23) 
    at Object.<anonymous>.exports.decode (project/node_modules/mysql2/lib/parsers/string.js:9:23) 
    at Packet.Object.<anonymous>.Packet.readNullTerminatedString (project/node_modules/mysql2/lib/packets/packet.js:373:23) 
    at Function.Object.<anonymous>.Handshake.fromPacket (project/node_modules/mysql2/lib/packets/handshake.js:18:31) 
    at ClientHandshake.Object.<anonymous>.ClientHandshake.handshakeInit (project/node_modules/mysql2/lib/commands/client_handshake.js:98:38) 
    at ClientHandshake.Object.<anonymous>.Command.execute (project/node_modules/mysql2/lib/commands/command.js:40:20) 
    at Connection.Object.<anonymous>.Connection.handlePacket (project/node_modules/mysql2/lib/connection.js:515:28) 
    at PacketParser.onPacket (project/node_modules/mysql2/lib/connection.js:94:16) 
    at PacketParser.executeStart (project/node_modules/mysql2/lib/packet_parser.js:77:14) 
    at Socket.<anonymous> (project/node_modules/mysql2/lib/connection.js:102:29) 

답변

1

이 게으른 동적 인코딩과 농담이 처리 할 수 ​​없다는에게 요구하고 mysql2로 인한 문제입니다.

setupTestFrameworkScriptFile

require('mysql2/node_modules/iconv-lite').encodingExists('foo'); 

에이 코드를 추가하거나이 곳 조기 코드 :

import iconv from 'iconv-lite'; 
import encodings from 'iconv-lite/encodings'; 
iconv.encodings = encodings; 
몇 가지 해결 방법 사용자에 모습 here을 제안