2009-10-13 5 views
5

WiX (예, Installshield가 아님)를 사용하여 설치 프로그램을 시작하기 시작했으며 설치 프로그램의 일부 TDD를 수행하고 싶습니다. 아무도 쉽게 이것을 할 수있는 방법을 알고 있습니까?유닛 테스트 설치자

답변

6

TDD보다 통합 테스트와 비슷합니다.

나는 MSI 테스트 슈트가 없다는 것을 알 수 있습니다.

그럼에도 불구하고 당신이 (당신이 contiunous 통합 서버를 가지고 가정) 이런 식으로 뭔가를 시도 할 수 : 성공적으로 빌드 후

  1. , 깨끗한 가상 시스템에 MSI를 설치 - 설치 뭔가 (메일, 티켓을 실패 할 경우, 어떤)는 그 후 프로젝트

에있는 어떤 통합 테스트

  • 실행 당신은 설치된 응용 프로그램이 무엇을해야한다는 것을 확신 할 수 있습니다.

  • +0

    위의 내용 외에도 특히 MSI (Windows Installer)를 사용할 때 특히 이전 설치 위에 반복적으로 설치하는 것이 좋습니다. 이렇게하면 사용자가 경험하기 전에 Windows Installer (레지스트리, 파일 등)가 손상되어 솔루션을 개발할 수 있습니다. –

    0

    생성 된 MSI에 대해 몇 가지 표준 테스트를 실행하는 것은 좋지 않을 수 있습니다. MSI 파일은 다양한 배포 시나리오를 지원합니다. 파일 압축을 풀기위한 관리자 설치, 활성 디렉토리에 대한 광고 설치, 자동 설치, 유지 관리 설치, 제거 등 ... 아마 이것에 대한 작은 테스트 스위트를 작성하는 것이 좋습니다. 심지어 내가 아는 모든 것에 대한 WIX 도구 세트로 간주됩니다.

    그러나 품질 설정을 제공하기위한 첫 번째 단계는 MSI 유효성 검사 제품군을 통해 MSI를 실행하는 것입니다. 이들은 ICE (Internal Consistency Evaluators)라고하며 Windows Installer SDK를 사용하여 * .cub 파일로 제공됩니다. 이 스크립트를 실행하면 MSI에서 많은 잘못된 디자인 구성이 드러나는 경향이 있습니다. 이것을위한 WIX 도구는 smoke.exe입니다.

    +0

    나는 연기를 명시 적으로 호출 할 필요가 없다고 생각한다. 라이트는 darice.cub 및 mergemod.cub에서 얼음 테스트를 실행합니다 (필요할 경우) http://installing.blogspot.com/2006/04/msi-validation-in-wix.html –

    2

    파일이 올바른 위치에 있는지 확인하는 스크립트 파일을 만들면 문제가 발생합니까? 나는 펄이나 파이썬 스크립트로 만들 것으로 예상

    test_installer_wix.pl

    msiexec /x product.msi # remove 
    msiexec /i product.msi /silent # install 
    
    ASSERT_EXIST_FILE(PFILE, 'productname/application.exe') 
    ASSERT_REGKEY_EXISTS() 
    

    내가 WIX installer 데이터베이스에 대한 단위 테스트를 만드는 방법에 대한 게시 링크를 추가 할