2011-08-09 6 views
6

웹 사이트 UI 자동화에 대한 테스트 케이스가 거의 없습니다.NUnit - 테스트 케이스를 3 번 ​​반복하십시오. 실패한 경우

첫 번째 및 두 번째 테스트에 실패하면 테스트 케이스를 적어도 세 번 시험해보고 싶습니다. 그렇게하면이 테스트 케이스가 일관되게 실패하지 않도록하고 싶습니다.

NUnit에서 사용할 수있는 옵션이 있으면 알려주십시오. 나는 C#과 NUnit을 함께 사용하고있다.

+4

Retry Attribute를 참조, 테스트는 잘못된 것입니다. 단위 테스트가 실패하거나 성공합니다. 시험에 어떤 종류의 논리가 있습니까? – NOtherDev

+0

단위 테스트를위한 혼란스러운 통합 테스트가 가능합니까? 후자는 이미 언급했듯이 일관성이 있어야합니다. –

답변

2

nunit이 테스트 결과를 알리는 데 사용하는 4 가지 예외가 있습니다. 이들은 : TimeoutException, AssertException, SuccessException 및 IgnoreException입니다. 당신은 당신의 nunit 테스트 기능에서 이들을 사용할 수 있습니다. 테스트 코드를 try-catch에 넣고 nunit 어설 션 예외를 정확히 두 번 잡을 수 있다고 생각합니다. 그러나 앞서 언급 한 바와 같이 간헐적으로 실패한 테스트가 필요하다는 점은 다시 생각해야 할 필요가 있다고 말해야합니다.

+3

우리는 웹 UI 자동화 작업을하고 있습니다. 언젠가 페이지가 제대로로드되지 않거나 네트워크 문제 또는 일부 임시 문제가 발생할 가능성이 있습니다. 우리는 사람들이 시간을 보내고 조사 할 수 있도록 2/3주기 내에서 똑같은 일을하는지 확인하기를 원합니다. 또한, 이것은 잘못된 경보를 극복 할 것입니다. – kumar

5

논리를 넘기는 루프에 대해 실패 횟수를 계산하십시오. 주장해라. (실패 == 0) 쿵.

하지 마십시오. 일관성이 있음을 입증 할 수있는 더 나은 테스트를 작성하십시오.

+1

우리는 웹 UI 자동화 작업을하고 있습니다. 언젠가 페이지가 제대로로드되지 않거나 네트워크 문제 또는 일부 임시 문제가 발생할 가능성이 있습니다. 우리는 사람들이 시간을 보내고 조사 할 수 있도록 2/3주기 내에서 똑같은 일을하는지 확인하기를 원합니다. 또한, 이것은 잘못된 경보를 극복 할 것입니다. – kumar

+0

찾으시는 특정 예외가 있습니까? 문제의 원인이되는 특수한 경우가 있습니까? 겉으로보기에 임의의 수의 "2 ~ 3"사이클을 사용하는 테스트를 작성하는 것은 강력하고 유용하며 검증 가능한 테스트처럼 들리지 않습니다. 실패한 페이지로드를 강제 실행하는 테스트를 작성할 수 있습니다. 나는 이것이 당신에게 틀린 자신감을 줄 것 같이 느낀다? –

15

반복 속성을 기반으로 nunit에 새 속성을 추가하고 라이브러리를 다시 작성할 수 있습니다. 매우 간단합니다.

[Test] 
    [Repeat(25)] 
    public void MyTest(){ 
     // your test logic here 
    } 
5

NUnit 3.0부터 kumar가 원하는 것과 똑같은 'Retry'속성이 있습니다. 시험은 때로는 실패 할 경우

관련 문제