단일 테스트 케이스를 구성하는 일련의 CodedUI 테스트 메소드가 있습니다. 테스트 방법은 순서대로 실행해야합니다 (IE testmethoda는 testmethodb를 실행 한 다음 testmethodc를 실행 함). 결과가 Microsoft Test Manager에서 testmethoda가 통과 된 것처럼 보이기를 원합니다. testmethodb가 성공하고 testmethodc가 실패했습니다. 전체 테스트 케이스를 여러 번 반복 실행하면서이 작업을 수행 할 수있는 방법이 있습니까?테스트 관리자에서 코딩 된 UI 테스트 및 결과를 주문하십시오.
나는 하나의 테스트 메소드에 테스트 메소드를 넣고 호출하려고 시도했다. 이렇게하면 원하는 테스트 순서와 여러 테스트 실행 기능을 얻을 수 있지만 테스트 관리자는 전체 테스트 사례에 대해 단일 통과/실패를 표시합니다.
나는 또한 개별 테스트 메소드에 데이터 소스를 첨부하고 테스트 매니저에서 원하는 테스트 결과를 제공하는 테스트 매니저에서 주문을 시도했지만, 둘 이상의 데이터 행을 실행하려는 경우 부작용이있다. 엉망이된다. 예를 들어 3 개 데이터 행이 실행됩니다 :
testmethoda
testmethoda
testmethoda
testmethodb
testmethodb
testmethodb
testmethodc
testmethodc
testmethodc
내가 w 실행하도록 개미 :
testmethoda
testmethodb
testmeothdc
testmethoda
testmethodb
testmethodc 등
나뿐만 아니라 순서 테스트를 사용하는 방법에 대한 생각하지만 여전히 단일로 나타 MTM에서 테스트하고 데이터 이동에 대해 알고있는 방법이 없기 때문에 문제가 발생합니다.
이러한 결과를 얻으려면 VS 또는 MTM에없는 기능이 있습니까? 아마도 결과 파일에서 테스트 실행을 정의 할 수있는 방법일까요? trx 파일을 작성/편집하면 내 결과가 MTM에 반영됩니까? 옵션이 아닌 TFS 데이터베이스를 변경해야한다는 느낌이 들었습니다.
예, 불행히도 A B와 C는 서로 영향을줍니다. A가 실패한 경우 B와 C는 실행할 수 없으므로 결정적으로 종료해야합니다.진짜 문제는 A B와 C가 모두 하나의 테스트 케이스로 간주되어야한다는 것입니다. – stoj
테스트 방법은 하나의 테스트 케이스이지만 나중에 다른 테스트 케이스에서 재사용 할 수 있도록 작은 메소드에서 벗어나는 것이 좋습니다. 예를 들어, A 메소드가 'LoginToSite()'인 경우 여러 테스트 케이스가 사용되므로 로그인 페이지의 변경 사항 중 하나의 메소드 만 변경 (또는 다시 기록)하면됩니다. 내 답변에 관해서는 웹 서비스에 대한 간단한 호출이 많은 데이터베이스 어설 션을 수행하고 다른 응용 프로그램에 대한 많은 호출을 기대하는 '블랙 박스'테스트에서 사용합니다. 따라서 데이터베이스 어설 션이나 예상 호출 중 하나라도 실패하면 시험은 멈추지 않을 것이다. – Schaliasos
그래, 개발 관점에서 그들은 분리해야한다. 그렇지 않으면 DRY를 위반하는 언급은 말할 것도없고 unmaintable 500 라인 함수가 될 것이다 .... 테스트 케이스보고 관점에서 나는 그들이 단일 케이스라고 생각한다. – stoj