2010-03-12 7 views
2

MbUnit으로 작성된 단위 테스트가 많이 있으며 테스트 이름에서 일반 영어 문장을 생성하고 싶습니다. 개념은 여기에서 소개된다C# 단위 테스트 이름을 영어로 변환하십시오. (테스트 독 스타일)

http://dannorth.net/introducing-bdd이 기사에서이다

:

 
CustomerLookup 
- finds customer by id 
- fails for duplicate customers 
- ... 

불행하게도 위의 문서에서 인용 도구 (testdox :

public class CustomerLookupTest extends TestCase { 
    testFindsCustomerById() { 
     ... 
    } 
    testFailsForDuplicateCustomers() { 
     ... 
    } 
    ... 
} 

이런 식으로 뭔가를 렌더링)는 Java 기반입니다. .NET 용 버전이 있습니까?

이런 소리는 아주 간단하게 쓸 수 있지만 간단히 대역폭이없고 이미 작성된 것을 사용하고 싶습니다.

편집 : 그냥 질문을 명확히하기 위해. 나는 기존의 테스트를 통해 윙윙 거리며 CamelCase 함수 이름을 문장으로 변환 할 수있는 것을보고있다. Gallio 플러그인의 일종의 완벽한 직업처럼 보입니다.

지금까지 나는 SpecUnit을 찾았고 Jay는 BDDDoc을 제안했습니다. 두 가지 모두 기존 테스트를 상당 부분 다시 작성해야하는 동작 확인 프레임 워크입니다. 우리 팀은 SpecFlow를 주요 BDD 프레임 워크로 사용하기로 결정했으며 기존 테스트에 대한 보고서를 작성하여 BDD 방식에 얼마나 잘 맞는지 봅니다.

답변

2

TestDox for .NET 이 있습니다 :

다음은 다운로드 링크가 내 게시물입니다.

+0

아하, 정확히 내가 뭘 찾고 있었는지. –

1

JP Boodhoo가 개발 한 developwithpassion.bddbdddoc을 살펴보십시오. http://blog.jpboodhoo.com/BDDDoc.aspx

현재 GitHub의에 코드를 찾을 수 있습니다 :

거기에 그의 원래 블로그 게시물은 여기에 나는 그의 테스트 프레임 워크를 사용 http://github.com/developwithpassion/developwithpassion.bdd

, 그리고 BDDDoc 일반 영어 HTML 심지어 여부를 보여보고 생성 테스트는 mbUnit 및 Gallio 보고서에 연결하여 성공 여부를 결정합니다.

형식은 bdddoc에서 픽업하여 그룹화하기 위해 각 설비에 Concern 속성이 있습니다.

내 설비는 public class When_the_sound_system_is_off... 같은 이름이 지정됩니다 내 주장은 (프레임 워크)에서 유형 it의 대표입니다, 그래서 그들은 it should_not_be_spinning_a_compact_disc..., it should_emit_no_sound...

BDDDoc이 underscorish 구문을 작동을 읽을 수 있지만 당신 때문에 내 생각 이미 mbUnit을 사용하면 흥미로운 코드를 추출하여 필요에 맞게 수정할 수 있습니다.

0

StoryQ는 converting existing unit tests to BDD style을 위해 아주 좋은 흐름을 가지고 - 내가 그 직접 질문에 대답 아니에요하지만 체크 아웃 가치가있을 수도 있습니다 알고 ... 나는 작은 BDD 단위 테스트 도우미 그것을 만든 프레젠테이션 지난해

2

표시 메서드 이름은 일반 영어로 실행됩니다. 그것의 끈 매직 부분은 확실히 얇기 때문에 당신은 그것을 확실히 추출 할 수 있습니다.(2010) 그것은 상당히 최근 보인다 http://gasparnagy.blogspot.com/2009/10/devcamp09-behavior-driven-development.html

+0

코드의 "문자열 마법"부분을 사용할 때 준수 할 라이센스가 있습니까? 정말 대단 하네. 단위 테스트를위한 단위 테스트를 위해 일하는 데 사용하고 싶지만 저작권 등을 위반하고 싶지는 않다. –

0

이 C#을 테스트 프레임 워크는 영어

UBADDAS에 방법을 변환하는 아주 좋은 직업 않습니다 -

여기에서의 사용자 행동 및 도메인 기반 합격 이야기

- http://kernowcode.github.io/UBADDAS/

이 ...

이 변환 이것에
[Test] 
public void IWantToRegisterANewUser() 
{ 
    ICustomer customer = new Customer(); 

    SoThat(MyBusinessValue.IncreaseCustomerBase) 
    .As(new User()) 
    .Given(customer.Register) 
    .When(customer.Confirm_Registration) 
    .Then(customer.Login); 
} 

...

I want to register a new user 
    So that Increase customer base 
     As user 
    Given Register customer 
    When Confirm customer registration 
    Then Login customer