티스토리 뷰

반응형

AWS lambda 노드 런타임을 사용할 때, 공통 코드를 layer(계층)에 관리하고 있다면 다음과 같이 import하여 사용하게 된다.

const myLibrary = require('/opt/myLibrary');

exports.handler = function(event, context) {
  myLibrary.greeting(); // hello!
}

그러나 해당 코드를 로컬에서 테스트하는 경우, 계층에 포함된 라이브러리가 로컬 환경의 /opt 하위 경로에 존재하지 않으므로 모듈을 임포트할 수 없는 문제가 발생한다.


jest를 사용하여 테스트하는 경우, jest.config.js에 다음과 같이 작성하여 문제를 쉽게 해결할 수 있다.

module.exports = {
  moduleNameMapper: {
    '^/opt/(.*)$': '<rootDir>/myLayers/$1',
  },
};

해당 옵션을 사용하는 경우, /opt 경로로부터 임포트되는 모듈의 경로를 암시적으로 변경할 수 있게 된다.
mocha에서는 대응되는 옵션을 찾지 못하였음!

댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함