2014-09-29 3 views
2

저는 최근에 행동 중심 개발을 시도하고자하는 프로젝트를 시작했습니다. SpecFlow를 C# 응용 프로그램이기 때문에 테스트 프레임 워크로 선택했습니다. 이 주제에 대해 인터넷에서 읽은 내용을 토대로 BDD가 TDD를 능가하는 한 가지 단서는 BDD를 사용하여 UI를 테스트 할 수 있다는 것입니다. 그러나 SpecFlow를 사용하여이 작업을 수행하는 데 문제가 있습니다. 첫 번째 테스트를 위해 다음과 같은 기능을 작성하려고했습니다.SpecFlow 및 사용자 인터페이스 테스트

사용자가 FolderBrowseDialog를 제공하는 버튼을 클릭하면, 응용 프로그램이 해당 폴더에서 응용 프로그램과 관련된 파일을 검색하고 해당 파일을 신청.

다음 시나리오는 더 많거나 적은 내가 쓰고 싶은 :

Scenario: Add Model 
Given I am on the main screen 
When I click Add Model 
And select a folder 
And the folder contains a model 
Then the model is loaded into the application 

어떤 코드 내가이 시험을 완료하는 데 그 FolderBrowseDialog에 물건을 클릭 SpecFlow이 필요합니까?

답변

3

Specflow는 UI를 자동으로 자동화 할 수 없습니다. SpecFlow는 BDD 프레임 워크로서 Gherkin syntax (SpecFlow는 Gerkin의 .Net 구현)을 사용하여 테스트를 작성하고이를 실행합니다. 그러나 각 단계에서 필요로하는 작업을 수행 할 코드를 구현해야합니다.

specflow 시나리오의 UI 단계를 자동화하려면 웹 UI 테스팅 프레임 워크를 사용해야합니다. 이러한 시나리오의 예로는 Selenium 있으며, WatIn

편집

죄송합니다 질문을 오해, 당신이 그렇게 다음 웹 UI 자동화 그러나 다만 UI 자동화를 수행하지 않는 당신은 내가 (그 명확하지 가정 데스크톱 UI 프레임 워크가 필요합니다 당신이 달리고있는 environement, 그러나 나는 윈도우를 가정 할 것이다). 내가 알고있는 사람은 White이지만 microsoft UI testing framework coded UI을 사용할 수도 있습니다. 그러나 동일한 원칙이 적용됩니다.

프레임 워크를 선택한 후에는 각 단계에서 선택한 작업을 수행 할 수 있도록 관련 작업을 각 사양 단계에 연결해야합니다.

그러나 연기하지 마십시오. SpecFlow는 훌륭한 프레임 워크 IMHO입니다. 장기적으로 BDD Appraoch를 사용하면 후회하지 않을 것입니다.

관련 문제