소개
Edison은 Badgerati에서 개발한 .NET 프로젝트를 위한 오픈소스 단위 및 통합 테스트 프레임워크입니다. Chocolatey 패키지 관리자를 통해 Windows 환경에서 쉽게 설치할 수 있으며, 콘솔 애플리케이션과 GUI를 모두 제공합니다. 테스트 결과를 XML, JSON, CSV, HTML, Markdown 또는 일반 텍스트 형식으로 출력하고, 실시간으로 URL에 전송할 수 있습니다. Edisonfile을 통해 테스트 실행 인자를 버전 관리하고 재사용할 수 있습니다.
상세정보
테스트 프레임워크 및 어트리뷰트 지원
Edison은 [Test], [TestFixture], [Setup], [Teardown], [TestCase], [Category] 등의 어트리뷰트를 사용하여 다른 테스트 프레임워크와 유사한 방식으로 테스트를 작성할 수 있습니다. AssertFactory 클래스를 통해 커스텀 어설션 로직을 구현할 수 있으며, 기본 Assert 클래스는 IAssert 인터페이스를 구현합니다.
병렬 테스트 실행 및 결과 출력
–ft (fixture threads) 파라미터를 지정하여 테스트 픽스처를 여러 스레드에서 병렬로 실행할 수 있습니다. 출력 형식은 –ot (output type)을 통해 xml, json, csv, html, markdown 또는 plain text 중 선택할 수 있으며, 콘솔 출력 비활성화(–dco) 및 파일 출력 비활성화(–dfo) 옵션도 제공됩니다.
실시간 결과 전송 및 테스트 실행 식별
–url 파라미터를 사용하여 테스트 결과를 지정된 URL로 실시간 전송할 수 있으며, –tid (Test Run ID)를 지정하여 실행 내역을 고유하게 식별할 수 있습니다. 이는 자체 테스트 히스토리 저장소를 가진 팀에게 유용합니다.
콘솔 애플리케이션 실행 방법
테스트 어셈블리를 실행하려면 다음 명령 형식을 사용합니다:
.Edison.Console.exe –a pathtotestassembly.dll –ft 2 –ot json
이 명령은 지정된 DLL 파일에서 테스트 픽스처를 2개의 스레드로 실행하고 결과를 JSON 형식으로 출력합니다.
Edisonfile을 통한 인자 관리
리포지터리 루트에 Edisonfile이라는 YAML 파일을 생성하여 테스트 실행 인자를 저장할 수 있습니다. 예를 들어:
assemblies:
– “./path/to/test.dll”
– “./path/to/other/test.dll”
disable_test_output: true
console_output_type: dot
fixture_threads: 2
이 파일을 저장한 후, Edison.Console.exe를 인자 없이 실행하면 자동으로 해당 설정을 불러옵니다.
지원 환경 및 시스템 요구사항
Edison은 .NET Framework 또는 .NET Core가 설치된 Windows 환경에서 실행됩니다. 콘솔 애플리케이션은 명령줄 인터페이스를 통해 작동하며, GUI 버전도 제공되어 시각적인 테스트 실행 및 결과 확인이 가능합니다.
최신 버전 및 업데이트
현재 버전은 1.5.0.12이며, Chocolatey 패키지 저장소 및 GitHub 저장소에서 확인할 수 있습니다. 라이선스는 MIT이며, 소스 코드는 GitHub에서 자유롭게 열람 및 기여가 가능합니다.
시스템 요구사항
.NET Framework 또는 .NET Core가 설치된 Windows 환경


