2009-04-09 1 views

답변

2

기본 시간 초과는 600 초입니다. 테스트가 초과하면 빌드가 실패하고 실패합니다. cc.net nunit 작업에 대한 시간 초과가 필요할 수 있습니다.

+0

<- - 사용 NUnit과 단위 테스트!> 이 인 구성 파일에 내 nunit 작업 블록의 복사본, 여전히 그들은 아무 이유없이 실패합니다 – sam

+0

단일 스레드 아파트 (STA)에서 실행해야하는 테스트에서 nunit이 실행되지 않는 것을 보았습니다. 그렇다면 -nothreaded 매개 변수를 nunit-console.exe에 전달해야합니다 ... –

+0

예 VS 프로젝트의 app.config 파일에서 상태를 STA로 설정 중입니다. <추가 키 = "ApartmentState"값 = "STA"/> 당신은 내가 ccnet 설정 파일에 나는 일이를 얻을 수 있었다 – sam

1

이전 빌드의 결과가 표시되는 것은 이전 빌드에서 결과를 삭제하지 않았기 때문일 수 있습니다.

는 예를 들어, 내 NUnit과 테스트 결과는 이름 {foo는} -results.xml을 가진 파일에 기록됩니다 내 작업에서

<publishers> 
    <merge> 
     <files> 
      <file>bin\debug\*-results.xml</file> 
     </files> 
    </merge> 
</publishers> 

, 나는 "전체를 삭제 내 빌드 파일의 단계를 bin \ debug "디렉토리를 열어 내 결과가 항상 현재 디렉토리가되도록하십시오.

0

한 가지 가능성은 권한 문제입니다. CruiseControl은 아마도 서비스 계정 하에서 실행되고 있으며 사용자 계정과는 다른 권한을 가지고 있습니다 (수동으로 테스트를 실행하는 것으로 가정합니다). 서비스 계정으로 시스템에 로그인 한 다음 단위 테스트를 실행할 수 있는지 확인하십시오 VS 또는 NUnit을 통해.

0

테스트에 어설 션이있는 경우 (예 : Debug.Assert (여기에 무엇인가). CC.Net에서 이런 일이 발생하면 CC.Net 빌드가 어설 션을위한 메시지 상자를 팝업합니다. 빌드 서버에서 아무도 메시지 상자를 닫지 않으므로 NUnit 테스트가 시간 초과됩니다.

관련 문제