source

Jest를 사용하여 테스트할 때 글로벌 node-config 변수가 정의되지 않았습니다.

goodcode 2022. 7. 28. 23:51
반응형

Jest를 사용하여 테스트할 때 글로벌 node-config 변수가 정의되지 않았습니다.

node-config 문서에서 옵션2 를 실장하고 있습니다.

이것은 정상적으로 실행되며 글로벌 설정 변수는 테스트 환경 밖에서 실행할 때 정의됩니다.

하지만, 제가 이것을 실행했을 때,vue-cli및 Jest 유닛 테스트(예:vue-cli-service test:unit, 다음의 에러가 표시됩니다.

  ● Test suite failed to run

    ReferenceError: APP_CONFIG is not defined
// vue.config.js
...
 configureWebpack: {
    plugins: [
      new ConfigWebpackPlugin('APP_CONFIG')
    ]
  },
...

어떻게 하면 좋을까요?Jest가 JS 파일을 실행하기 전에node-config값으로 모든 글로벌 변수 전환을 완료할 수 있습니까?

Jest는 웹 팩을 실행하지 않기 때문에 테스트 설정을 수동으로 설정해야 합니다.회피책으로 이 설정을 Jest 글로벌로 선언할 수 있습니다.

글로벌을 선언하려면globals내보낸 객체에 대한 속성jest.config.js서브프로퍼티 키는config-webpack의 네임스페이스(APP_CONFIG(이 경우)는, 그 값은, 필요한 설정 JSON 파일입니다.config/:

// jest.config.js
module.exports = {
  globals: {
    APP_CONFIG: require('./config/default.json')
  }
}

언급URL : https://stackoverflow.com/questions/57084920/global-node-config-variable-undefined-when-testing-with-jest

반응형