응용 프로그램 및 UI 코드를 어떻게 단위 테스트합니까?


10

나는 단위 테스트를 쓰는 것을 좋아하고 코드를 테스트하고 회귀를 방지하는 훌륭한 방법이라는 데 동의합니다. 그러나, 내가 하루 종일 작업하는 코드의 대부분이 응용 프로그램이기 때문에 스스로 작성할 수는 없습니다. 사용자에게 UI를 표시하는 코드 응용 프로그램 코드를 단위 테스트하는 좋은 방법이 있습니까? 모범 사례는 무엇입니까?

프레임 워크와 같은 특정 답변을 찾고 있지 않습니다. 대신 일반적 으로이 문제에 어떻게 접근합니까?


"UI를 표시하는 응용 프로그램 코드"는 무엇입니까? MVC의 C에 대해 이야기하고 있습니까?
Martin Wickman

저는 모든 종류의 그래픽 인터페이스에 대해 이야기하고 있습니다-JavaScript, HTML, MFC가있는 C ++, WinForms, WPF 등 ...
Justin Ethier

MVVM은 단위 테스트가 쉽습니다. MVVM 명령 패턴을
Amir Rezaei

@amir-참조 또는 추가 정보가 있습니까?
Justin Ethier

답변:


8

실제 사용자 인터페이스를 테스트하기 위해 Selenium 이 잘 작동합니다.

실제 단위 테스트를 원할 경우 전략은 가능한 많은 로직을 실제 사용자 인터페이스에서 일반적으로 ViewModel 객체로 되돌려 보내는 것입니다. 그런 다음 ViewModel 객체에 대한 단위 테스트를 작성할 수 있습니다.

다시 말해, 유닛 테스트가 다른 곳에서 이루어질 수 있도록 가능한 한 실제 UI에 로직을 최소화하십시오.


SoC를위한 좋은 디자인입니다. UI에 도메인 / 비즈니스 로직이 없어야합니다. 많은 클라이언트 로직-상호 작용 / 유효성 검사는 단위 테스트가 가능한 JavaScript를 사용하여 UI에 갈 수 있습니다.
StuperUser

1

MSTest로 응용 프로그램을 단위 테스트하고 QUnit을 사용 하여 Javascript를 테스트하고 WatiN 을 사용하는 단일 MSTest Unit 테스트를 사용하여 해당 테스트 결과를 가져 왔습니다 ( Selenium 제안했습니다. 깨끗하게 자동화하는 데 WatiN이 더 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.