2010-05-28 2 views
1

주요 기본 Windows 구성 요소와 실질적인 WPF GUI를 모두 포함하는 매우 복잡한 응용 프로그램의 일부를 테스트하고 싶습니다. 복잡하지 않기 때문에 세부적으로는 네이티브 부분을 독립적으로 실행할 수 없으며 테스트 할 영역을 분리 할 수 ​​없으며 (강의를하지 않아도됩니다. 우리는 거대한 레거시 코드 기반을 말하고 있습니다. 리팩토링 계획).혼합 Windows 용 임베디드 단위 테스트 프레임 워크

네이티브 측에서 호출 할 수있는 유닛 테스트 킷을 찾고 있지만 관리 부분을 초기화하여 시작한 앱으로 실행할 수 있어야합니다. Windows 단위 테스트 키트 cfixrun executable feature을 제외하는 것으로 보입니다. WinUnit 같은 철학을 C++에없는 반사 기능을 추가하고 더 많은 NUnit과 같은 경험을 얻는 방법으로 DLL 컴파일을 사용하는 것을 정말 좋아합니다.

이상적으로는 응용 프로그램 코드 내에서 실행되는 WinUnit과 HTML 보고서를 생성하는 것이 좋습니다.

나는 더 많은 TDD를 소개하려고하며 가능한 한 마른 것을 중요하게 생각합니다.

+0

지금은 영감과 약간의 아키텍처 리팩터링을 조합하면 테스트 가능한 경계가있는 라이브러리에서 대부분의 코드를 분리하는 방법을 알아 냈습니다. –

답변

0

대답은 C++/CLI입니다.

mbUnit, NUnit 및 xUnit.Net과 같은 관리 코드 테스트 프레임 워크를 C++/CLI 코드와 함께 사용할 수 있으며 제대로 작동합니다. 테스트의 내용은 네이티브 라이브러리에서 네이티브 함수를 호출합니다.

두 개의 작은 개는 있습니다

this question에서 논의 된 바와 같이 자신의 InlineData이/CLI ++ C에서 반복되는 속성 방지 xUnit.Net에 버그가있어
  1. .
  2. 때때로 테스트 러너의 작업 디렉토리에 대해주의하거나 섀도 복사본 접근법으로 네이티브 DLL을 명시 적으로 복사해야하는 경우가 있습니다. 일부 사용은 관리되는 종속성 만 얻습니다.
관련 문제