데이터 목킹 및 피닝
n8n v2.29워크플로를 개발할 때 외부 시스템을 반복적으로 호출하거나 실제 데이터를 다루지 않고도 로직을 테스트하고 싶을 수 있습니다. 두 방식 모두 개발 중 시간과 리소스를 절약하고, 일관된 데이터셋으로 작업할 수 있게 하며, 실제 운영 시스템을 반복적인 테스트 호출로부터 보호합니다.
워크플로를 개발할 때 외부 시스템을 반복적으로 호출하거나 실제 데이터를 다루지 않고도 로직을 테스트하고 싶을 수 있습니다. n8n은 이를 돕기 위해 두 가지 관련 기능을 제공합니다.
- 데이터 목킹: 실제 데이터 소스에 연결하지 않고 테스트 데이터를 생성하거나 시뮬레이션합니다
- 데이터 피닝: 테스트 데이터(목킹된 데이터 또는 실제 데이터)를 저장하고, 이후 워크플로 실행에서 새 데이터를 가져오는 대신 이를 재사용합니다
두 방식 모두 개발 중 시간과 리소스를 절약하고, 일관된 데이터셋으로 작업할 수 있게 하며, 실제 운영 시스템을 반복적인 테스트 호출로부터 보호합니다.
개발 전용
데이터 피닝 및 목킹은 개발 중 워크플로 테스트를 돕는 기능입니다. 데이터 피닝은 프로덕션 워크플로 실행에서는 사용할 수 없습니다.
데이터 목킹 방식#
개발 중에 작업할 테스트 데이터를 생성합니다. 여러 가지 방법으로 목 데이터를 만들 수 있습니다.
Code node 또는 Edit Fields node를 사용해 사용자 지정 데이터 생성#
Code node 또는 Edit Fields (Set) node를 사용해 워크플로 내에서 사용자 지정 데이터셋을 만들 수 있습니다.
Code node에서는 원하는 어떤 데이터셋이든 생성해서 노드 출력으로 반환할 수 있습니다. Edit Fields node에서는 Add fields를 선택해 사용자 지정 데이터를 추가합니다.
Edit Fields node는 소규모 테스트에 적합한 선택지입니다. 더 복잡한 데이터셋을 만들려면 Code node를 사용하세요.
이 방식을 사용할 때: 테스트 데이터의 구조와 값을 완전히 제어해야 하거나, 특정 데이터 패턴으로 엣지 케이스를 테스트하고 싶을 때 사용합니다.
Customer Datastore node에서 샘플 데이터셋 출력#
Customer Datastore node는 작업할 수 있는 가짜 데이터셋을 제공합니다. 노드를 추가하고 실행하여 데이터를 살펴보세요.
이 방식을 사용할 때: n8n을 탐색하는 중 테스트 데이터가 필요하지만, 다룰 실제 사용 사례가 없을 때 사용합니다.
여러 워크플로 실행에서 재사용하고 싶은 테스트 데이터를 생성하거나 확보했다면, 데이터 피닝을 사용해 일관된 테스트를 위해 저장하세요.
데이터 피닝#
워크플로 개발 중에는 데이터를 '피닝'할 수 있습니다. 데이터 피닝이란 노드의 출력 데이터를 저장해 두고, 이후 워크플로 실행에서 새 데이터를 가져오는 대신 저장된 데이터를 사용하는 것을 의미합니다.
외부 소스의 데이터로 작업할 때 이 기능을 사용하면 외부 시스템에 요청을 반복하지 않아도 됩니다. 이는 시간과 리소스를 절약할 수 있습니다.
- 워크플로가 웹훅 호출과 같이 외부 시스템에 의해 트리거되는 경우, 데이터를 피닝할 수 있으면 워크플로를 테스트할 때마다 외부 시스템을 사용할 필요가 없습니다.
- 외부 리소스에 데이터 또는 사용량 제한이 있는 경우, 테스트 중 데이터를 피닝하면 리소스 한도를 소모하지 않을 수 있습니다.
- 테스트하려는 데이터를 가져와 피닝해 두면, 모든 워크플로 테스트에서 데이터가 일관되게 유지된다는 확신을 가질 수 있습니다.
- 위의 방식(목킹)으로 테스트 데이터를 만든 다음, 이를 피닝하여 여러 실행에서 재사용할 수 있습니다.
단일 메인 출력을 가진 노드에 대해서만 데이터를 피닝할 수 있습니다("error" 출력은 이 목적에 해당하지 않습니다).
데이터 피닝하기#
이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.
데이터 피닝 해제하기#
데이터 피닝이 활성화되어 있으면, 노드 출력 패널 상단에 n8n이 데이터를 피닝했음을 나타내는 배너가 나타납니다. 데이터를 피닝 해제하고 다음 실행에서 새 데이터를 가져오려면, 배너에서 Unpin 링크를 선택하세요.
피닝된 데이터 편집하기#
n8n에서는 피닝된 데이터를 편집할 수 있습니다. 이를 통해 각 시나리오를 직접 설정하고 외부 시스템에서 관련 데이터를 보내지 않고도 다양한 시나리오를 확인할 수 있습니다. 엣지 케이스를 더 쉽게 테스트할 수 있게 해줍니다.
개발 전용
데이터 편집은 프로덕션 워크플로 실행에서는 사용할 수 없습니다. 개발 중 워크플로 테스트를 돕는 기능입니다.
출력 데이터 편집하기#
출력 데이터를 편집하려면:
- 노드를 실행하여 데이터를 로드합니다.
- OUTPUT 뷰에서 JSON을 선택해 JSON 뷰로 전환합니다.
- Edit
을(를) 선택합니다. - 데이터를 편집합니다.
- Save를 선택합니다. n8n이 데이터 변경 사항을 저장하고 데이터를 피닝합니다.
이전 실행의 데이터 사용하기#
이전 워크플로 실행의 노드에서 데이터를 복사할 수 있습니다.
- 왼쪽 메뉴를 엽니다.
- Executions를 선택합니다.
- 복사하려는 데이터가 있는 실행을 찾을 때까지 워크플로 실행 목록을 살펴봅니다.
- Open Past Execution
을(를) 선택합니다. - 데이터를 복사하려는 노드를 더블 클릭합니다.
- 테이블 레이아웃인 경우, JSON을 선택해 JSON 뷰로 전환합니다.
- JSON을 복사하는 방법은 두 가지입니다.
- 텍스트를 선택하듯이 복사하려는 JSON을 하이라이트하여 선택합니다. 그런 다음
ctrl+c로 복사합니다. - 매개변수를 클릭하여 복사하려는 JSON을 선택합니다. 그런 다음:
1. JSON 위로 마우스를 올립니다. n8n이 Copy
버튼을 표시합니다.
2. Copy
을(를) 선택합니다.
3. 복사할 내용을 선택할 수 있습니다.
- Copy Item Path와 Copy Parameter Path는 JSON의 특정 부분에 접근하는 표현식을 제공합니다.
- Copy Value: 선택한 JSON 전체를 복사합니다.
- 작업 중인 워크플로로 돌아갑니다.
- 왼쪽 메뉴를 엽니다.
- Workflows를 선택합니다.
- Open을 선택합니다.
- 열고자 하는 워크플로를 선택합니다.
- 복사한 데이터를 사용하려는 노드를 엽니다.
- 데이터가 없다면, 노드를 실행하여 데이터를 로드합니다.
- OUTPUT 뷰에서 JSON을 선택해 JSON 뷰로 전환합니다.
- Edit
을(를) 선택합니다. - 이전 실행에서 가져온 데이터를 붙여넣습니다.
- Save를 선택합니다. n8n이 데이터 변경 사항을 저장하고 데이터를 피닝합니다.
목킹과 피닝 결합하기#
가장 현실적인 테스트 환경을 만들려면, 목킹과 피닝 방식을 결합할 수 있습니다.
- 목킹 방식(Code node, Edit Fields node, 또는 Customer Datastore) 중 하나를 사용해 테스트 데이터를 생성합니다
- 특정 테스트 시나리오나 엣지 케이스를 만들기 위해 테스트 데이터를 편집합니다
- 편집한 데이터를 여러 워크플로 실행에서 재사용할 수 있도록 피닝합니다
- 이 편집되고 피닝된 데이터셋으로 계속 개발을 진행합니다
이 방식을 사용하면 테스트 데이터를 완전히 제어하면서도 여러 번의 실행에서 일관된 테스트를 보장할 수 있습니다.