WiX (예, Installshield가 아님)를 사용하여 설치 프로그램을 시작하기 시작했으며 설치 프로그램의 일부 TDD를 수행하고 싶습니다. 아무도 쉽게 이것을 할 수있는 방법을 알고 있습니까?유닛 테스트 설치자
답변
TDD보다 통합 테스트와 비슷합니다.
나는 MSI 테스트 슈트가 없다는 것을 알 수 있습니다.
그럼에도 불구하고 당신이 (당신이 contiunous 통합 서버를 가지고 가정) 이런 식으로 뭔가를 시도 할 수 : 성공적으로 빌드 후
- , 깨끗한 가상 시스템에 MSI를 설치 - 설치 뭔가 (메일, 티켓을 실패 할 경우, 어떤)는 그 후 프로젝트
에있는 어떤 통합 테스트
생성 된 MSI에 대해 몇 가지 표준 테스트를 실행하는 것은 좋지 않을 수 있습니다. MSI 파일은 다양한 배포 시나리오를 지원합니다. 파일 압축을 풀기위한 관리자 설치, 활성 디렉토리에 대한 광고 설치, 자동 설치, 유지 관리 설치, 제거 등 ... 아마 이것에 대한 작은 테스트 스위트를 작성하는 것이 좋습니다. 심지어 내가 아는 모든 것에 대한 WIX 도구 세트로 간주됩니다.
그러나 품질 설정을 제공하기위한 첫 번째 단계는 MSI 유효성 검사 제품군을 통해 MSI를 실행하는 것입니다. 이들은 ICE (Internal Consistency Evaluators)라고하며 Windows Installer SDK를 사용하여 * .cub 파일로 제공됩니다. 이 스크립트를 실행하면 MSI에서 많은 잘못된 디자인 구성이 드러나는 경향이 있습니다. 이것을위한 WIX 도구는 smoke.exe입니다.
나는 연기를 명시 적으로 호출 할 필요가 없다고 생각한다. 라이트는 darice.cub 및 mergemod.cub에서 얼음 테스트를 실행합니다 (필요할 경우) http://installing.blogspot.com/2006/04/msi-validation-in-wix.html –
파일이 올바른 위치에 있는지 확인하는 스크립트 파일을 만들면 문제가 발생합니까? 나는 펄이나 파이썬 스크립트로 만들 것으로 예상
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
데이터베이스에 대한 단위 테스트를 만드는 방법에 대한 게시 링크를 추가 할
- 1. UI 테스트 대 유닛 테스트
- 2. 유닛 통신 프로토콜 테스트
- 3. 유닛 테스트 초보자
- 4. 유닛 테스트 콘솔 출력
- 5. 유닛 테스트 with Maven
- 6. 어떻게 유닛 테스트 DelegateCommand
- 7. 싱글 톤으로 유닛 테스트
- 8. 유닛 테스트 LinqToSqlDomainService
- 9. 유닛 테스트 및 설비
- 10. openGl 디스플레이의 유닛 테스트
- 11. 유닛 테스트 단위
- 12. 유닛 테스트 애플리케이션 레이어
- 13. 유닛 테스트 병렬 실행
- 14. 유닛 테스트 설정 방법
- 15. 유닛 테스트 용어
- 16. 유닛 테스트 조직
- 17. 상위 레벨에서 유닛 테스트
- 18. 스프링 유닛 테스트
- 19. 유닛 웹 GUI 테스트
- 20. Ruby의 비동기 유닛 테스트
- 21. 레일 유닛 테스트 협회
- 22. 유닛 데이터 구조 테스트
- 23. 유닛 테스트 NHibernate UserTypes
- 24. iPhone 수락/유닛 테스트
- 25. 유닛 테스트 C#
- 26. 유닛 테스트 디렉토리 구조
- 27. WPF 유닛 테스트 DirectoryNotFoundException
- 28. OCUnit/XCode 유닛 테스트 용 테스트 러너
- 29. 봄 @Controller 유닛 테스트 @RequestMapping
- 30. 유닛 테스트 논리 읽기 용
위의 내용 외에도 특히 MSI (Windows Installer)를 사용할 때 특히 이전 설치 위에 반복적으로 설치하는 것이 좋습니다. 이렇게하면 사용자가 경험하기 전에 Windows Installer (레지스트리, 파일 등)가 손상되어 솔루션을 개발할 수 있습니다. –