2014-04-18 6 views
1

나는 Ember QUnit (최근 EmberConf에서 다루었습니다)과 PhantomJS를 사용하고 있음을 전제로하고 싶습니다. 제 생각에는 문제의 포인트를 자세히 읽어주십시오. 사본으로 표시하는 것.유닛 테스트 EmberJS App (실제 유닛 테스트)

내 목표는, 모카 시험과 유사한이

mocha simple_test.js

을 실행하고 명령 행 기자의 형태로 결과를 볼 수있는 명령 줄에서 단위 테스트를 실행하는 것입니다.

  1. 엠버 모듈을 독립적으로 테스트합니다. 나는 엠버 객체 (ember test harness)를 실행하는 컨텍스트없이 엠버 객체, 라우트 또는 컨트롤러를 새로 작성하고 그 모듈에 대한 어설 션을 실행할 수 있기를 원합니다. 명령 줄에서
  2. 테스트 타다 남은 모듈 (PhantomJS 같은 QUnit 또는 머리없는 브라우저와 같은 브라우저 기자 방지)

, 내가하면보고 싶은 이미 카르마와 phantomjs의 조합을 사용하여 통합 및 수용 검사를 I 더 많은 단위 테스트를 보완 할 수 있습니다. 위 목록에 나온 것과 비슷한 단위 테스트 설정을 접한 사람이 있습니까? 아니면 실제로 가능하지 않으며 생산적이지 않습니까? 여기

업데이트 엠버 가이드 목록 단위 테스트 전략 : 제 생각에는 http://emberjs.com/guides/testing/unit/

, 이러한 통합 테스트처럼 많은 것 같다.

답변

2

예. 신청서와 함께 처리합니다. 엠버 사이트의 문서에있는 새로운 테스트 가이드를 아직 보지 않았다면 (지난주 언젠가 생방송으로 된 것입니다.) 나는 그것을 편집하는 것을 도왔다. 그것은 꽤 좋다! :-)

내가 도움이 필요하면 행운을 빈다. 내가 말하는 것처럼, 나는 Ember의 모든 부분에서 단위 테스트를 항상한다. 지금까지 가장 힘든 부분은 통합 또는 단위가 아니기 때문에 구성 요소였습니다. 실제로는 ... 하이브리드와 같습니다. 고립 된 통합 단위 테스트로 여전히 많은 부분의 엠버 및 렌더링이 필요합니다.

가드, 자스민 qunit을 사용하여 헤드리스를 실행합니다. Jasmine은 나의 취향이고 나는 천천히 qunit에서 넘어 섰다.

http://emberjs.com/guides/testing/

또한 나는 당신이 원하는 것처럼 보인다 것은 그 자체 엠버도 이외의 단위를 분리하는 것으로 나타났습니다. 그렇게하기 위해 별도의 자바 스크립트 라이브러리에 코드를 넣을 것입니다. 그렇지 않으면 문제가 발생할 것입니다 : afterall Ember를 사용한다면 Ember present가없는 코드 조각을 어떻게 단위 테스트 할 것입니까?

+0

답장을 보내 주셔서 감사합니다. 나는 내가 묻고있는 것을 정확히 다듬 으려고 노력하고 있다고 생각하지만 위에서 언급 한 브라우저 또는 헤드리스 브라우저가없는 엠버 응용 프로그램에 대한 테스트를 작성하고 싶습니다. 아마 ember 테스트 장치를 찾고 있을지도 모릅니다. 언급 한 전략과 유사한 일부 통합 테스트가 있지만 단위 테스트에 더 가까운 것을 위해 노력하고 있습니다. 제가 단원 테스트를 말할 때, 나는 고립 된 테스트를 생각합니다. 여기에 단위 테스트 엠버 가이드, http://emberjs.com/guides/testing/unit/ 나 단위 테스트의 가치를 그리워, 그들은 여전히 ​​통합 테스트처럼 보입니다 –

+0

그래, 일종의. Ember는 앞에서 설명한 애플리케이션 프레임 워크입니다. 엠버 물체를 단위 테스트 할 수 없다는 이유가 없습니다. 왜 그런지 모르겠다.나는 그것을 아주 많이했다. 그것은 자바 스크립트 코드의 다른 부분을 테스트하는 것과 같습니다. 매우 간단합니다. 어떤 도움이 필요 하신가요? –

+0

당신이 무엇을하든, 분명히 자바 스크립트 런타임이 필요합니다. 브라우저의 컨텍스트 외부 (심지어 헤드리스)에서 엠버를 테스트하는 것은 거의 의미가 없으므로 코드가 실행되는 곳에서 볼 수 있습니다. 또한, 당신이 이것을 알고 있는지 확신 할 수 없지만 ** 브라우저가 자바 스크립트 런타임이 브라우저가 아닌 런타임과 달리 자바 스크립트를 실행하는 방식 때문에 문제가 발생하지 않을 수도 있습니다. ember는 웹 응용 프로그램 프레임 워크이기 때문에 ** 반드시 ** IMHO와 관련하여 테스트해야합니다. –