0

내 웹 응용 프로그램의 코딩 된 UI 테스트를하고 있습니다. 리포지토리 메서드 호출을 단위 및 통합 테스트 에서처럼 Microsoft.Fakes 프레임 워크와 동일한 방식으로 격리하려고했습니다. 하지만 Fakes가 작동하지 않는 UI 테스트 인 것 같습니다. 실제 메소드가 여전히 shim 대신 호출되기 때문입니다. 격리 UI 테스트를 수행하지 않으면 데이터베이스에 영향을 미치기 때문에 (예 : 등록 프로세스 테스트시 새 사용자 추가) 재사용하지 못하게됩니다. 그래서 위와 같은 방법을 위조하거나 모의 할 수 있는지, 코딩 된 UI 테스트를 실행할 때마다 테스트 데이터베이스를 설정하고 테스트 웹 사이트를 피할 수 있는지 궁금합니다.코딩 된 UI 테스트에서 Microsoft.Fakes 프레임 워크 사용

이 문제와 관련된 유용한 정보를 찾지 못해 도움을 주셔서 감사합니다. 여기서 필요한 경우

매우 간단한 예에 대한 링크이다 , 하나 개의 웹 애플리케이션 (단순히 예외를 발생 방법의 클래스를 포함) 하나의 클래스 라이브러리와 VS 2,012 용액 (함유이다 https://www.dropbox.com/s/m6les7pmto14njq/TestCodedUITest.zip 언급 된 메소드를 호출하는 하나의 버튼이있는 페이지) 그리고 마지막으로 메소드의 심이 들어있는 코드화 된 UI 테스트를 하나만 열고 IE를 열고 페이지를 탐색 한 다음 버튼을 클릭한다.

+0

당신이 말하는 코드 중 일부를 제공 할 수 있습니까? – Micha

+0

샘플 응용 프로그램에 대한 링크가 추가되었습니다. 감사. –

답변

0

코딩 된 UI는 일반적으로 실제 응용 프로그램 또는 실제 웹 사이트를 테스트합니다. 코딩 된 UI는 응용 프로그램이나 웹 사이트를 어떤 방식 으로든 수정하지 않는다는 점에서 단위 테스트와 상당히 다릅니다. 원하는 테스트를 수행하려면 테스트를위한 특별한 웹 사이트 또는 실제 웹 사이트의 테스트 모드가 필요하다고 생각합니다.

+0

답변 해 주셔서 감사합니다. 예, 데이터베이스 및 웹 사이트 테스트도 옵션이지만 각 테스트를 실행하기 전에 수동 작업이 필요합니다. 테스트 웹 사이트를 유지하고 테스트 데이터베이스를 다시 만듭니다. 또 다른 옵션은 테스트 모드임을 나타내는 매개 변수를 페이지에 전달한 다음 코드 숨김을 리팩토링하여 해당 상황을 처리하고 적절한 메서드 호출을 격리하는 것입니다. 하지만 코드에 많은 변화가 생기고 어쨌든 적절한 해결책으로 보이지 않습니다. –