2014-04-16 3 views
3

안드레아스 할러 (Andreas Haller)의 메일 링리스트에 게시되어 다른 사람들이 "qunit-bdd"태그를 사용할 수있게되었습니다.qunit-bdd를 ember-qunit과 함께 사용하는 방법?

ember-qunit 하나는 QUnit의 module 기능에 대한 대안으로 사용할 수있는 편리한 moduleFor 도우미를 추가합니다. 이제 ember-qunit은 일을 추상화하여 모듈 함수를 사용할 필요가 없으며 내가 할 수 있는지 여부를 모르겠습니다. 내 질문은 두 가지이다 :

  1. describe 사실상는 module와 같은 역할을합니까?
  2. 어떻게 ember-qunit의 moduleFor/moduleForComponent을 사용할 수 있습니까? # 2에 대한 솔루션이 없을 경우

아직 describe(moduleFor('controller:posts'), function() { … }) 같은 좋은 것입니다.

+0

이제 Qunit은 상자에서 중첩 된 모듈을 지원합니다. ember-qunit에 대한 지원이 여기에서 추적됩니다 : https://github.com/rwjblue/ember-qunit/issues/208 –

답변

2

describe은 qnit-bdd에서 대부분 QUnit의 module과 동일하게 작동합니다. 차이점은 qunit-bdd에 중첩 될 수 있으며 중첩의 각 수준은 함께 연결된 이름을 가진 module 호출에 해당합니다. 예를 들어,이 module 세 통화가 발생합니다 :

describe('Foo', function() { 
    it('is a function', function() { 
    expect(typeof Foo).to.equal('function'); 
    }); 

    describe('#foo', function() { 
    it('says FOO', function() { 
     expect(new Foo().foo()).to.equal('FOO'); 
    }); 
    }); 

    describe('#bar', function() { 
    it('says BAR', function() { 
     expect(new Foo().bar()).to.equal('BAR'); 
    }); 
    }); 
}); 

module 함수가 호출을 제어 할 수있는 방법이 없기 때문에, 엠버 - qunit와 qunit-BDD 사용하기 (아직) 방법이 없습니다. 우리는 그것을 바꾸는 방법을 논의하고 있습니다. 제안 사항은 효과가 있지만 ember-qunit에 대해 qunit-bdd를 명시 적으로 수정해야합니다. 나는 ember-qunit에 공유 코드를 갖고 qunit-bdd에 대해 얇은 래퍼를 갖고 싶어한다. 아마 너와 비슷하지만 qunit-bdd에 API를 유지하는 것이 같습니다.

describe('PostsController', testFor('controller:posts', function() { 
    it('has a length', function() { 
    expect(this.subject.length).to.be.defined(); 
    }); 
})); 

모든 의견을 환영합니다.