2012-06-01 2 views
0

은 HTML 태그에 대한 응답 스트림을 지정하는 데 도움이되는 shouldjs 또는 다른 어설 션 라이브러리의 확장을 알고있는 사람입니다.익스프레스 shouldjs 또는 다른 어설 션 라이브러리가 포함 된 nodejs의 html 태그에 대한 응답 테스터

내가

body.should.contain.link 'login' 

또는 꽤 편리 할 수 ​​있습니다 내 마음에 와서 그냥 예를

body.should.contain.h1 'Hello world' 

같은 일부 수용 테스트를 작성하고 싶습니다 ...

또는 너희들은 어떻게 너의 반응을 시험해??

감사

답변

2

Chai Assertion Library에 관심있는 플러그인이 있지만 정확한 마크 업은 지원되지 않습니다.

먼저 브라우저에서 테스트 한 결과가 chai-jquery 인 경우 그것은 당신이 이런 식으로 일을 할 수있는 것 : 당신의 조각의 모습에서

$('body').should.have('h1.title').text('Hello world'); 

, 조금 더 복잡해집니다 서버 측에 당신의 테스트를. 우리는 chai-jquery를 jsdom을 사용하여 서버에서 리턴 된 html을 파싱하고 jquery 객체로로드하여 jquery를 사용하여 노드에서 작동하도록 시도했지만 jsdom은 jQuery와는 잘 작동하지 않습니다.

내가 본 (그러나 아직 시도하지 않은) 대안은 cherio입니다. jQuery가 기대하는 것처럼 행동하는 것 같습니다. 이 경우에, 당신은 ... 당신이 처음 사용하기에 충분한

$('h1', body).text().should.contain('Hello universe'); 

희망을 (안된) 같은 것을 할 수 있습니다.

0

나는 몇 달 전 같은 문제로 실행하지만 난 코드를 찾을 수 없습니다. 많은 사람들이 chai에 대해 이야기하는 것을 들었습니다. 최근에해야 할 것과 비슷한 API가 있습니다. 그것이 contain 방법을 가지고 있다고 밝혀졌습니다.