2010-03-04 2 views
8

나는이 질문이 '논란의 여지가 없다'라고 희망한다 - 나는 기본적으로 묻는다 - 여기에 누구나 TypeMock을 구입하여 그 결과에 행복 (또는 불행) 했습니까?TypeMock을 사용하는 팀이 있습니까? 상당한 가격표가 될만한 가치가 있습니까?

우리는 2 dev의 관리자를 포함하여 12 명의 개발자로 구성된 작은 개발 업체입니다. 우리는 지금까지 NMock을 사용해 왔지만 한계가 있습니다. 나는 연구를하고 TypeMock을 가지고 노는 것을 시작했으며 그것을 좋아합니다. 그것은 슈퍼 깨끗한 구문이고 기본적으로 모든 것을 모의 수 있습니다 레거시 코드에 대한 훌륭한입니다.

문제는 - 무료로 제공되는 4-5 명의 경쟁 업체를 보유한 API에 대해 라이선스 당 800-1200 달러를 지출하는 것이 내 보스에게 어떻게 정당합니까? 800-1200 달러는 라이센스 당 Infragistrics 또는 Telerik의 비용이 얼마인지에 대한 것입니다. 4-5 개의 오픈 소스 비교 가능한 UI 프레임 워크가 아닌 것은 확실합니다. 그래서 어느 정도 가치가 있지만, 멋진 라이브러리 임에도 불구하고 ...

의견이나 경험이 있으면 크게 환영합니다.

편집 :. 내가 사랑에 빠졌다 생각 MOQ를 찾은 후 - 나는 VB가 람다 서브 루틴이 없기 때문에 완전히 VB.NET에서 지원되지 않는 것을 발견 할 때까지 = (VB.NET에 대한 MOQ를 사용하는 사람이있는가? 문제는 우리가 혼합 된 가게입니다입니다 - 우리는 다른 모든 것들에 대한 우리의 CRM 개발과 VB을위한 C# .NET을 사용하는 모든 guidence 크게 다시을 감사

편집 :. 흠 ... 내가 Isolate.WhenCalled를 찾을 수 없습니다() 등가물 Moq ... 여기에 어떤 도움이? 내가 찌르다 싶지/조롱 된 개체 (아닙니다 조롱 된 개체의) ReadOnly 속성을 조롱 ... 난 TM과 함께 Isolate.WhenCalled 함께 쉽게 할 수 있습니다. 어떻게 Moq 함께? ??

답변

9

저는 몇 달 동안 TypeMock 프로젝트를 사용했습니다. 우리는 실제로 그것을 완전히 단계적으로 끝내 었습니다. Moq (completely free Apache 2.0 licensed mocking framework). Moq를 보지 못했다면 반드시 Moq를 체크 아웃해야합니다. 본 모조 도구의 가장 직관적 인 구문을 사용하는 것 외에도 컴파일 타임 형식 검사의 이점을 얻을 수 있습니다. 아주 좋아.

TypeMock은 Moq보다 중요한 이점이 있습니다. 즉, 그것은 무엇이든을 조롱 할 수있다. 여기에는 봉인 된 클래스, 가상이 아닌 메소드, 구체적인 유형 및 그 밖의 많은 것들이 포함될 수 있습니다. ASP.Net을 사용하고 있고 코드가 어떻게 구성되어 있는지에 따라 ASP.Net 코드를 실제로 조롱 할 수도 있습니다. 아주 청초한.

그러나 코드를 잘 구성하면 TypeMock의 이점이 가격보다 중요하지 않음을 발견했습니다. 또한, Moq과 모의 할 수 없다면 아마도 거기에 냄새가 있음을 의미합니다. TypeMock을 사용하면 게으르며 코드가 결과적으로 어려울 수 있다고 생각합니다. Moq 및 이와 유사한 조롱 프레임 워크 (RhinoMocks가 마음에 듭니다)는 특히 테스트 가능성 측면에서 코드를 작성할 때 코드에 대해 생각하게 만듭니다.하지만 좋은 점이라고 주장 할 것입니다. TypeMock을 연속 통합 서버에 배포하려고 시도하는 몇 가지 골치 거리

짧은 이야기로 TypeMock은 매우 강력한 도구입니다. 이전 레거시 코드를 단위 테스트 할 때는 더 좋은 제품이별로 없습니다. 그러나 1000 달러는 한 개의 TypeMock 라이센스 또는 몇 가지 재 라이센스 (resharper) 라이센스, 거의 10 개의 TD.Net 라이센스, 새로운 연속 통합 서버 또는 기타 여러 가지 기능을 제공합니다. 내 자신의 경험은 가치가 없다는 것을 암시하지만 마일리지가 다를 수 있습니다!

+0

답장을 보내 주셔서 감사합니다. - 대단한 답변입니다. 나는 Moq이 geat 이었지만 결코 그것을 시험해 본 적이 없다고 들었다. 어떤 결정을 내리기 전에 확실히 테스트를 시작할 것입니다. 우리는 TDD/유닛 테스팅을 우리 팀에 소개하고 있습니다. 따라서 TypeMock이 우리를 너무 많이 망칠 수 있습니다. 단위 테스팅/TDD에 익숙하지 않은 개발자는 실제 디자인을 배우지 못해서 더 많은 손상을 입을 수도 있습니다. TDD 뒤에있는 교장 선생님. 나는 또한 동의한다 - 내가 두려워하는 조롱 한 틀에 대한 가격은 너무 비싸다. 내가 말했듯이, 그 가격에 대해, 당신은 무언가를 얻을 수 있습니다. – dferraro

+2

TypeMock은 정말로 그들의 가격 포인트를 낮추는 것을 고려해야합니다. 분명히 그들은 유익한 회사지만, 많은 자유로운 대안을 가진 API에 대해 얼마나 많은 돈을 정당화 할 수 있는지 모르겠다 ... 250 또는 400이라면 더 생각할 필요가 없다고 말할 수있다. . 그러나 우리와 같은 더 작은 규모의 회사는 800 달러를 정당화하기가 어렵습니다 ... 그들은 개발 팀의 규모에 대해 더 많은 가격을 책정해야합니다/회사가 얼마나 많은 돈을 벌었는지에 대해 더 많이 물어야합니다 .. – dferraro

+0

BTW, Type Mock에 소품을 줄 것입니다. for - 그 SharePoint 프레임 워크입니다. 우리는 SP를 많이 사용하여 여기에서 큰 이점을 볼 수 있습니다 ... 불행히도 우리는 무거운 멀티 스레딩 응용 프로그램을 사용하지 않습니다. 우리는 Racer를 사용하지 않으므로 SP 객체를 모방하기 위해 400 달러를 더 지불해야합니다. ... – dferraro

2

+1 에릭의 답변 - 완전히 동의합니다.

MSTest의 개인용 악세사리 메커니즘과 비슷합니다. 문제가 잘못된 것으로보고있을 가능성이 큽니다.뭔가를 테스트하기 위해 기술적 인 McGyvery를 사용해야하는 경우, 누군가는 Doing Something (잘못된 짓하기)입니다.

물론, 대위법에서 벗어나는 다음 단계는 누군가가 이미 잘못된 것을 완료 한 경우입니다 (예, 저는 당신, SharePoint, WebForms 및 친구들을보고 있습니다). 그리고 당신은 정말로 필요합니다. 지금 당장 상황을 처리하기 위해 복잡한 작업을해야합니다.

이와 같은 격렬한 전투는 종종 회상에서 거의 기분이 좋지 않은 거대한 timesink가 될 수 있습니다. "우우, 이것에 관해서는 어떤 형태로든 테스트해볼 필요가 있습니다. 우리가있는 곳에서 UI 자동화가 가능합니다."라고 말하는 것과 비슷합니다. - 시간이 지남에 따라 다른 형태 및 단위의 아래 적절한 테스트를 끝까지 받고 할 wrok 많이가 있다는 사실을 직면

  • 멀리 실제 문제에 대한 실제 솔루션에서 에너지를 끌어 : 그 길을가는 97.92 %의 프로젝트가 다양한 단계에서 시작하거나 다양한 단계로 진행되는 레거시 시작 지점을 고려하면 편안함을 느낄 수있는 시스템을 배우는 기술을 배우십시오.

  • 은 '코드화 된 UI 테스트' 당신이 행복하지 않을 것입니다.

한 가지 더 - MSR에는 TM과 동일한 종류의 일, 즉 프로파일 러 후크를 통한 런타임 재 작성을 수행하는 최근에 포주가되고있는 Moles 프로젝트가 있습니다. 실제로 현실 세계 시나리오에서 Moq을 사용하여 길을 잃어 버렸을 때 백업 할 때 무언가를 갖길 원하거나 필요가 있다고 생각하는 사람들에게 유용 할 수 있습니다. 리팩터링을 통해 더 좋은 곳으로 나아갈 수 있습니다. .

관련 문제