2009-09-01 5 views
6

Testdriven.net과 같은 VS 통합 도구를 사용하거나 Icarus 또는 NUnit GUI와 같은 GUI 테스트 러너를 사용하는 경우의 차이점은 무엇입니까?Gallio Icarus vs. Testdriven.net

무엇이 선호되며 왜 그런가요?

지금까지 커맨드 라인 출력만을 제공하는 td.net보다 보고서가 이카루스에서 더 우수하다는 것을 알았습니다. 그러나 td.net을 사용하는 것이 더 빠르므로 나머지 테스트를 먼저 수행하지 않고도 단일 테스트를 더 쉽게 실행할 수 있습니다. NCover 통합도 매우 좋습니다.

답변

8

이카루스에는 나를 사용하는 데 필요한 하나의 멋진 기능이 있습니다. 테스트를 자동으로 다시로드하고 다시 실행합니다.

왼쪽 모니터에 이카루스를 올려 놓습니다. Visual Studio에서 빌드 할 때마다 Icarus는 어셈블리를 다시로드하고 모든 테스트를 실행합니다. Resharper 's Solution Analysis의 즉각적인 피드백과 비슷합니다. 구문 대신 테스트를 제외하고는. 테스트를 자동으로 실행하고 Visual Studio의 성능에 영향을 미치지 않는 것으로 보입니다 (가능성이있는 b/c Icarus는 자체 프로세스이므로 IDE 내부에서 호스팅되지 않습니다).

이 구성을 사용하려면 Icarus-> Options-> Test Explorer로 이동하십시오. '항상 파일 다시로드'및 '다시로드 한 후 테스트 실행'을 선택하십시오.

+0

예. Digg도합니다. 아아 내 질문에 더 td.Net 모든 혜택을 제공합니다. –

+0

TD.Net을 방어하기 위해 빌드는 화면의 실제 공간을 차지하지 않고 장소에서 유닛 테스트 실행의 일부로 실행됩니다. – GregC

+0

Visual Studio에서 코드를 편집 할 때 관련 단위 테스트를 다시 실행하는 기능이 정말 멋지다. 그렇다면 "관련성"을 어떻게 정의 하시겠습니까? – GregC

3

빌드 서버와 같은 연속 통합 서버가 있지만 단위 테스트가 실행됩니까?

그렇다면 단위 테스트를 실행하고 모든보고 정보를 갖도록 gallio를 설정하고 개발자가 작업하는 동안 빠른 피드백으로 무언가를 사용할 수있게 할 수 있습니다.

옵션이 없으면 Testdrvien과 같은 IDE에 통합 된 것을 선호합니다. 즉각적인 피드백은 코드 조각을 리팩토링하거나 TDD에서 새로운 것을 개발할 때 매우 유용합니다. 게다가 CI 서버와 같은 단일 지점에서 진행되는 온 전성 검사가 없다면 단위 테스트에서 찾을 수있는만큼 많은 눈을 원할 것입니다. 개발자는 가장 쉬운 방법을 사용하는 경향이 있으며, 일반적으로 통합 된 테스트 스위트는 별도의 구성 요소보다 쉽습니다.

+0

저는 개별 개발자입니다. 따라서 ci 서버를 사용하는 것은 저에게 필요하지 않습니다. 사실 저는 그 중 하나를 가지고 있습니다. hovewer 메신저 만 메트릭 등을 위해 그것을 사용합니다 (물론 재미도 있습니다) –

+0

@Johannes Rudolph CI 서버가 과도 할 경우 빌드 스크립트를 사용할 수 있습니다. 레이크 (Rake)는 메트릭을 원할 때마다 명령 행에서 설정하고 실행할 수 있습니다. 여기 레이크에서 시작한 자료가 있습니다. http://www.tobinharris.com/past/2008/11/4/getting-started-with-rake-on-net/ –