데이터 고정(Pin)과 목킹(Mock)

데이터 고정(Pin)과 목킹(Mock)

워크플로를 개발할 때, 외부 시스템을 반복 호출하거나 라이브 데이터로 작업하지 않고도 로직을 테스트하고 싶을 때가 있어요. n8n은 이를 돕는 두 가지 관련 기능을 제공해요.

  • 데이터 목킹(Data mocking): 실제 데이터 소스에 연결하지 않고 테스트 데이터를 만들거나 시뮬레이션해요.
  • 데이터 고정(Data pinning): 테스트 데이터(목킹한 것이든 실제든)를 저장해두고, 새 데이터를 가져오는 대신 향후 워크플로 실행에서 재사용해요.

두 접근법 모두 개발 중 시간과 리소스를 아끼고, 일관된 데이터셋으로 작업할 수 있게 해주며, 반복적인 테스트 호출로부터 실 운영 시스템을 보호해요.

개발 전용

데이터 고정과 목킹은 개발 중 워크플로를 테스트하기 위한 기능이에요. 데이터 고정은 프로덕션 워크플로 실행에서는 사용할 수 없어요.

데이터 목킹 접근법

개발 중 사용할 테스트 데이터를 만들어요. 목 데이터는 여러 방법으로 만들 수 있어요.

Code 또는 Edit Fields 노드로 커스텀 데이터 생성하기

Code 노드나 Edit Fields (Set) 노드로 워크플로 안에 커스텀 데이터셋을 만들 수 있어요.

Code 노드에서는 원하는 데이터셋을 아무거나 만들고, 그것을 노드 출력으로 반환하면 돼요. Edit Fields 노드에서는 Add fields를 선택해 커스텀 데이터를 추가해요.

작은 테스트에는 Edit Fields 노드가 좋은 선택이에요. 더 복잡한 데이터셋이 필요하면 Code 노드를 쓰세요.

이 방식을 쓰면 좋은 때: 테스트 데이터의 구조와 값을 완전히 통제하고 싶을 때, 또는 특정 데이터 패턴으로 엣지 케이스를 테스트하고 싶을 때.

Customer Datastore 노드로 샘플 데이터셋 출력하기

Customer Datastore 노드는 작업에 사용할 가짜 데이터셋을 제공해요. 노드를 추가하고 실행해서 데이터를 살펴보면 돼요.

이 방식을 쓰면 좋은 때: n8n을 탐색할 때 테스트 데이터가 필요하고, 사용할 실제 사용 사례가 아직 없을 때.

여러 워크플로 실행에서 재사용하고 싶은 테스트 데이터를 만들거나 얻었다면, 데이터 고정을 사용해 저장해두면 일관된 테스트가 가능해요.

데이터 고정

워크플로 개발 중에는 데이터를 '고정(pin)'할 수 있어요. 데이터 고정이란 노드의 출력 데이터를 저장해두고, 향후 워크플로 실행에서 새 데이터를 가져오는 대신 저장된 데이터를 사용하는 거예요.

외부 소스의 데이터로 작업할 때 이 기능을 쓰면 외부 시스템에 요청을 반복하지 않아도 돼요. 시간과 리소스를 아낄 수 있어요.

  • 워크플로가 웹훅 호출 같은 외부 시스템에 의존해서 트리거된다면, 데이터를 고정해두면 워크플로를 테스트할 때마다 외부 시스템을 쓰지 않아도 돼요.
  • 외부 리소스에 데이터·사용량 제한이 있다면, 테스트 중에 데이터를 고정해서 리소스 한도를 소모하지 않게 해요.
  • 테스트하려는 데이터를 가져와 고정해두면, 모든 워크플로 테스트에서 데이터가 일관되다는 확신을 가질 수 있어요.
  • (위 접근법들로) 목 테스트 데이터를 만든 뒤 고정해서 재사용할 수도 있어요.

정리하면 이렇게 구분하면 돼요. 목킹은 '있을 법한 가짜 데이터를 만들어' 개발 초기에 테스트하는 것이고, 고정은 '한 번 받은 좋은 데이터를 저장해' 이후 실행에서 그대로 바꿔 쓰는 것이에요. 둘 다 목적은 같아요. 실제 시스템·리소스를 아끼면서 안정적으로 로직을 검증하는 거죠.