본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Lode

0

Lode는 Tomas Buteler가 개발한 오픈소스 GUI 단위 테스트 러너입니다. Electron과 Vue.js 기반으로 제작되었으며 다양한 테스트 프레임워크를 단일 인터페이스에서 실행하고 결과를 확인할 수 있도록 만들어졌습니다.

단위 테스트테스트

소개

Lode는 Tomas Buteler가 개발한 오픈소스 GUI 단위 테스트 러너입니다. Electron과 Vue.js 기반으로 제작되었으며 다양한 테스트 프레임워크를 단일 인터페이스에서 실행하고 결과를 확인할 수 있도록 만들어졌습니다.

상세정보

다중 테스트 프레임워크 실행

Lode는 다양한 테스트 프레임워크를 선택해 실행할 수 있는 범용 GUI를 제공합니다. 공식 README에 따르면 현재 PHPUnit과 Jest을 공식 지원 대상으로 명시하고 있으며, 저장소 주제에는 Cypress와 Vue 테스트도 포함되어 있습니다.

테스트 결과 시각화 및 상세 분석

실행 결과는 테스트 그룹 단위로 목록화되어 통과 및 실패 수가 표시됩니다. 실패한 테스트를 선택하면 오른쪽 패널에 오류 메시지와 예외 발생 위치, 그리고 PHPUnit의 Expected/Actual 값 비교 같은 상세 정보를 함께 확인할 수 있습니다.

테스트 탐색 및 정렬

좌측 패널에서 테스트 프레임워크와 그룹을 선택할 수 있고, 테스트 목록은 실행 순서(Running order) 등으로 정렬하여 검토할 수 있습니다.

설치 방법

Windows 환경에서는 winget 패키지(lode.lode)를 통해 설치할 수 있습니다. 패키지 설치 명령은 다음과 같습니다.

  • winget install –id lode.lode –exact

Windows 외에도 공식 README에서는 https://lode.run 에서 최신 패키지 버전을 다운로드하거나, GitHub releases 페이지에서 다른 플랫폼 빌드를 선택할 수 있다고 안내하고 있습니다.

개발 환경에서 실행하기

소스 코드를 직접 실행하려면 저장소를克隆한 뒤 다음 명령을 사용합니다.

  • npm install
  • npm run dev

현재 플랫폼용 패키지를 빌드하려면 npm run build를 실행하고, 디버깅이 필요할 때는 npm run simulate를 사용해 패키징된 상태에서 직접 실행할 수 있습니다. Vue 컴포넌트와 Pinia 스토어를 검사하려면 별도 터미널에서 npm run devtools를 먼저 실행한 뒤 npm run dev로 앱을 시작합니다.

활용 예시

Lode의 공식 스크린샷과 README에 명시된 기능을 바탕으로 다음과 같이 활용할 수 있습니다.

  • PHPUnit 기반 PHP 프로젝트에서 테스트 그룹을 선택해 전체 테스트를 실행하고, 실패 케이스의 Expected/Actual 차이와 예외 발생 위치를 한 화면에서 검토
  • Jest 기반 JavaScript/TypeScript 프로젝트에서 테스트 결과를 그룹별로 확인하고 실행 순서에 따라 정렬해 회귀 테스트 진행

버전 정보

현재 winget에 등재된 버전은 v0.36.0이며 릴리스 날짜는 2024-09-26입니다. 새로운 빌드는 https://github.com/lodeapp/lode/releases 에서 확인할 수 있습니다.

제한 및 확인 사항

소스 코드는 MIT 라이선스로 배포되며, 라이선스 전문은 저장소 내 LICENSE 파일에서 확인할 수 있습니다. 다만 README에는 소프트웨어 사용이 별도의 이용 약관(https://lode.run/terms/)에 구속된다고 명시되어 있으므로, 배포 및 사용 전 해당 약관을 함께 검토해야 합니다. 또한 README에 명시된 공식 지원 프레임워크는 PHPUnit과 Jest이며, 그 외 프레임워크 지원 여부는 저장소 문서에서 별도로 확인이 필요합니다.

화면으로 보는 주요 기능

PHPUnit 테스트 실행 화면

PHPUnit 테스트 실행 화면

PHPUnit 테스트 실행 화면에서 '16 passed', '1 failed' 상태를 보여주며, 'application' 프로젝트 하위의 'PHPUnit' 테스트 그룹이 선택되어 있다. 테스트 목록은 'Running order'로 정렬되어 있으며, 'It can extract domains from strings' 테스트가 현재 선택되어 있다. 오른쪽에는 'It can extract domains from strings' 테스트의 실패 내용이 표시되어 있으며, 'PHPUnitFrameworkExpectationFailedException' 예외가 발생했고, 'Expected'와 'Actual' 값의 차이가 '-example.com'과 '+example.com#fragment'로 표시되어 있다. 또한, 'EXCEPTION' 섹션에는 'tests/Unit/Support/UrlParserTest.php' 파일의 214번째 줄에서 발생한 예외의 코드가 보인다.

시스템 요구사항

Lode 자체에 명시적인 시스템 요구 사항은 README에 기재되어 있지 않으므로, 사용하려는 테스트 프레임워크가 프로젝트에 사전 설치되어 있어야 합니다.