2013-11-05 3 views
2

유닛 테스트를 위해 MBUnit을 사용하는 Winforms 프로젝트가 있습니다. 이제이 프로젝트 (Winforms)를 WPF로 마이그레이션 할 계획입니다. WPF 용 유닛 테스트를 처음부터 작성해야합니까, 아니면 기존 Windows 폼 유닛 테스트를 재사용 할 수 있습니까?Windows 폼 유닛 테스트를 WPF로 마이그레이션

우리 모두 WPF는 선언적이지만 내부적으로는 C# 코드로 변환된다는 것을 알고 있습니다. 그래서 재사용 할 수 있다고 생각합니다. 어떤 종류의 시체가 이런 종류의 시나리오에서 효과가 있다면 도움을주십시오.

내가 아는 것은 "buts"와 "ifs"입니다.

답변

1

WinForms 응용 프로그램에서 이전에 MVP (Model View Presenter) 패턴을 사용하여 테스트 프레젠테이션 논리를 테스트하고 싶었습니다. MVP 패턴은 컨트롤과 프레젠테이션 로직 사이에 추상화 계층을 제공합니다. 이 패턴 또는이 패턴의 변형을 사용하여 WinForms 응용 프로그램을 작성한 경우 단위 테스트 중 일부를 다시 사용할 수 있어야합니다.

단위 테스트 WPF 응용 프로그램에서는 MVVM 패턴을 사용해야합니다. MVVM 패턴에서 대부분의 프리젠 테이션 로직은 뷰 모델에 있습니다. 뷰 모델은 UI 요소에 결합되지 않으므로 단위 테스트가 가능해야합니다.

내 생각에 그것은 나쁘다는 생각이 들었다. 그리고 이것이 나 였다면 WPF 응용 프로그램을위한 단위 테스트를 처음부터 작성하게되었다.

+0

Bang on. 기존 응용 프로그램에 MVP 패턴을 사용했습니다. 나는 논리가 분명히 분리되어 있다고 생각한다. –

3

정말 UI 코드와 비즈니스 로직간에 얼마나 많은 분리가 있는지에 따라 달라집니다. 이상적인 시나리오에서는 비즈니스 로직이 UI 기술 및 포트를 쉽게 인식 할 수 없도록 명확한 분리가 이루어집니다. 그러나 UI 코드와 비즈니스 로직이 엉키고 UI 기술에 대한 가정을하면 더 어려워 질 것입니다.

별도 참고 사항 : WPF는 매우 테스트 가능하며 단위 테스트 친숙한 코딩 패턴 Model View View Model (MVVM)을 권장합니다. 새 WPF 프로젝트를 시작하는 경우 MVVM 및 단위 테스트를 연구하는 것이 좋습니다. 그것은 과대 광고의 힙을 가지고 같은

+0

내가 타이핑하는 동안 내 생각을 읽은 것처럼 보이고 더 빠른 타이피스트입니다. :) – Noctis

+0

기존 응용 프로그램에 MVP 패턴을 사용했습니다. 나는 논리가 분명히 분리되어 있다고 생각한다. 도와 주셔서 감사합니다 TGH –

3

와우 ... 것 ...하지만

가 답이 될 것이라고했다 가졌 (... 기껏해야 7) 3 년 전 고작 출신 : 어쩌면.

유닛이 유효한 동작을 보장하기 위해 로직 및 메소드 만 테스트하는 경우 좋은 결과를 얻을 수 있습니다.

단위 테스트가 winforms에 얽히고 결과에 의존하는 경우, 그다지 좋지 않을 것입니다.

좋은 단위 테스트는보기를 신경 쓰지 않아야하며 응용 프로그램의 논리/모델을 테스트해야합니다. MVVM은이 접근법에 매우 친숙합니다.

코드 또는 예제가 없으면 질문에 대답하기가 정말 어렵습니다.

관련 문제