2014-12-18 2 views
4

나는 그렇게처럼 before 후크 안에 현재 describe 이름을 얻으려고 :"이전"훅에서 모카 테스트 이름을 얻는 방법?

describe('increasing 3 times', function() { 

    before(function() { 
    console.log('test name'); 
    }); 

    ... 

}); 

나는 기본적으로 후크 이전의 '증가 3 번'문자열을 검색합니다.

어떻게 수행 할 수 있습니까?

감사합니다.

describe("top", function() { 
    before(function() { 
     console.log("full title:", this.test.fullTitle()); 
     console.log("parent title:", this.test.parent.title); 
    }); 

    it("test 1", function() {}); 
}); 

실행을 spec 기자와 함께이가 출력 :

+0

모카가 API를 제공하지 않는 경우 변수에 이름을 저장할 수 있습니다. 그것은 좋게 읽히지 않을 것이다. –

+0

사실 .. 나는 그것을 피하려고합니다. –

답변

4

여기 당신이 그것을 할 수있는 방법을 보여줍니다 코드는

full title: top "before all" hook 
parent title: top 
    ✓ test 1 


    1 passing (4ms) 

모카 당신은 그것의 다양한 기능에 전달하는 기능을 (호출 describe, before, it 등) this의 값은 Context 개체입니다. 이 개체의 필드 중 하나는 test입니다. 그것은 실제 시험이 아닌 다른 것을 지적 할 수 있기 때문에 다소 잘못된 이름입니다. before과 같은 후크의 경우 before 호출을 위해 생성 된 현재 Hook 개체를 가리 킵니다. 이 객체에 fullTitle()을 호출하면 객체의 계층 적 이름, 즉 객체 자체의 이름 앞에 테스트 스위트의 이름 (describe)이 붙습니다. Hook 개체에는 또한 후크가 포함 된 제품군을 가리키는 parent 필드가 있습니다. 이 제품군에는 describe에 전달 된 첫 번째 인수 인 title 필드가 있습니다.