2014-02-17 5 views
0

저는 C#과 관리되는 C++로 구성된 25 개의 프로젝트가 포함 된 솔루션을 제공합니다.C# 테스트 응용 프로그램

C# 프로젝트 호출 중 하나를 테스트해야하지만이 프로젝트의 유형은 "Window application"(DLL 아님)입니다.

Windows 응용 프로그램 임에도 불구하고 제 요구 사항은 몇 가지 내부 기능 호출 (Windows 양식과 관련 없음) 만 호출하는 것입니다.

이 기능을 호출하려면 별도의 C# 테스트 프로젝트를 만들어야합니다. 이런 식으로 할 수 있습니까?

누구든지 방법이나 예를 제안 할 수 있습니까? 그리고 또 하나, 기존 코드를 수정할 수 없습니다.

+1

시도해 보셨습니까? 프로젝트를 만들고 Windows 응용 프로그램을 참조하십시오. 원하는 방법을 호출하십시오. _아주 쉽게_. – Gusdor

+0

가능할 수도 있습니다. 그것은 달려있다. – Jodrell

+0

프로젝트로 참조 할 수 있으며 C#, VB, C++ 등의 언어로 사용할 수 있습니다. – Jamie

답변

2

이렇게 할 수 있습니까?

예. 테스트 프로젝트에서 테스트 할 프로젝트를 참조하는 것은 일반적으로 코드를 단위 테스트하는 방법입니다.

아무 방법이나 예를 제안 할 수 있습니까?

단위 테스트 프로젝트를 만들고 테스트 할 코드가 포함 된 프로젝트를 참조하고 테스트 할 코드를 테스트하기위한 테스트를 작성하십시오. 테스트 할 수 있도록 코드를 리팩토링해야하는 경우 그렇게하거나 아래를 참조하십시오.

그리고 한 가지 더, 나는 기존의 소스 코드를 수정할 자유가 없습니다.

이 경우 코드를 테스트 할 수 있도록 일부 더 깨끗한 인터페이스에서 코드를 래핑해야합니다.

Working Effectively with Legacy Code by Michael Feathers에는 테스트중인 레거시 코드를 얻는 방법에 대한 훌륭한 조언이 있습니다.