나는 MS Test에 상당히 우울합니다. 내 저장소가 모든 CRUD 작업을 예상대로 수행하는지 확인할 수 있도록 통합 테스트를 만들고 싶습니다. 내가 3 개 시험 방법MS 테스트 주문 테스트 - 어떻게 명확하고 쉽게 실행할 수 있습니까?
내가 데이터를 추가하고 다시 읽어- 만들어 Therfor -> 테스트 suceeds를 검색 한 경우 - 삽입 된 항목을 검색 할 수 있는지 테스트 suceeds을>을 내가 삽입 된 항목을 업데이트하고 다시 읽어 항목에 동일한 키가 있지만 데이터가 변경되었습니다.
- 삽입 된 항목을 삭제하고 다시 읽으려고합니다. 항목을 검색 할 수없는 경우> 테스트가 성공합니다.
내가 이런 식으로하고 싶은 주된 이유는 필자가 필요로하는 테스트 설정 양을 줄이는 것입니다.
첫 번째 아이디어는 모든 것을 수행하는 테스트 방법 하나를 추가하는 것이었지만 테스트가 실패하면 세 번째 부분에서 볼 수 없으며 다른 사람들은 성공했습니다.
그래서 프레임 워크에서 호출되는 순서를 말할 수 있어야하는 주문 테스트를 시도했습니다. 이것은 내가 일반적으로 피해야하는 테스트 뷰를 사용하는 한 작동합니다. 나는 평상시 control + R + T를 사용하고 있지만 이것은 또한 각 메소드를 정의 된 순서가 아니라 무작위 순서로 실행합니다. 마지막으로, 빌드 머신에서 주문 테스트를 실행하려면 추가 작업이 필요합니다.
나는 그 방법이 무작위 순서로 호출되는 이유를 이해할 수 없다. 왜 외부 파일이 필요한지 이해할 수 없으며 코드 내부에서 순서를 쉽게 정의 할 수 없습니다.
그럼 내 진짜 질문은 다음과 같습니다. 내가 뭘 잘못하고 있니? 왜 Microsoft는 도구에 이상한 기능을 추가합니까? 왜 [TestMethod ("CRUD", 1)]라고 말하지 말고 속성의 매개 변수를 사용하여 그룹과 순서를 정의하십시오.
Microsoft는 MS Test에서 어려운 일을 쉽게 처리 할 수있는 것으로 생각합니다.
도움 주셔서 감사합니다.
답장을 보내 주셔서 감사합니다. MS 테스트를 단위 테스트 프레임 워크로 본 적이 없으며이 단어조차도 UI에서 자주 사용됩니다. 데이터베이스를 첨부하고 응용 프로그램 UI의 동작을 확인하며 필자가 시험을 만들 때 파일을 사용해야 할 가능성이 있습니다. 이것은 이론적으로 설명 된 것처럼 단위 테스트를 작고 쉽게 실행할 수있는 것보다 통합 및 시스템 테스트와 비슷합니다. 나에게 잘못된 말은하지 말아라. 그러나 나는 Roy Osherove가 다음과 같이 썼을 때 이해하려고 노력했다. "MS test is IE6" –
글쎄, 개인적으로 단위 테스트를 위해서만 사용하지만, 나는 당신의 요점을 보았다. 그들이이 철학을 가지고 테스트를 위해 파일 및 기타 등등을 요구하는 것과 같은 일을 할 수있게하는 것은 이상한 것 같습니다. 나는 xUnit 배경에서 왔기 때문에 MS Test에는 몇 가지 불만이있다. 당신이하고있는 일 (질서있는 테스트, 그것은 NUnit이나 MBUnit이 테스트 순서를 지원하는지 보는 것만 큼 가치가있을 것입니다. 어쨌든 더 나은 결과를 얻으려면 Firefox와 Chrome을 MSTests의 IE6로 생각하십시오 :)) –