2012-02-13 3 views
9

큰 노드 앱의 경우 맹세에서 모카로 전환할지 여부를 결정하려고합니다.맹세에서 모카로 바꿔야합니까?

저는 거의 모든 맹세 경험을 즐겼습니다. 그러나 인수에 대해 이상한 점이 있습니다. 주제가 어떻게 작동 하는지를 기억하기 위해 항상 머리를 찰 필요가 있으며 테스트를 작성하는 기본 사항을 방해합니다. 특히 중첩 된 비동기 테스트에서 문제가됩니다. 비록 서약을 async.js와 결합하면 조금 도움이 될 수 있습니다.

그래서 모카는보다 유연하게보고합니다. 나는 테스트 스타일 &을 선택할 수있는 자유를 매우 중요하게 생각한다. 이것은 브라우저에서도 매우 유용 할 것이다. 하지만 깊이 중첩 된 비동기 테스트의 가독성 문제는 여전히 해결되지 않을까 걱정됩니다.

실용적인 조언이 있습니까? - 모카는 깊이 중첩 된 테스트를 읽을 수 있습니까? 내가 놓친 게 있니?

+0

틀림없이 예. – Raynos

답변

8

모카가 에이스입니다. 재스민이 제공하는 waititsFor보다는 오히려 완료 콜백을 제공합니다. 나는 서약으로부터의 이주에 관해 말할 수 없다. 그러나 재스민에서 그것은 곧 것이었다. 내부 모카 테스트 기능을 원할 경우 비동기 (또는 Seq 등. 레거시가되고 싶다면)를 사용할 수 있습니다.하지만 중첩 콜백이 필요하면 통합 테스트를 수행하여 테스트의 세밀성에 대해 생각하게 할 수 있습니다 .

OT : 100 % 테스트 커버리지는 거의 모든 값을 제공하지 않습니다.

+0

좋은 점 감사합니다. 어쩌면 당신은 세부 사항에 맞습니다 - 일들이 좀 더 분열 될 수 있습니다. 그러나 나는 종종 테스트를 위해 3 개 또는 4 개의 둥지가 필요하다고 말하면서 & 그것이 더 읽기 쉽기를 바란다. 어떻게 든 describe 함수를 감싸는 방법이있을 것입니다. –

3

단위 테스트 스위트의 흐름 제어를 사용하여 중첩 테스트를 해결합니다.

맹세는이를 지원하는 흐름 제어 라이브러리를 생성해야하기 때문에 내보내기가 쉽지 않습니다.

서약을위한 흐름 제어 라이브러리를 작성하거나 모카로 전환하고 기존 흐름 제어 라이브러리를 다시 사용하십시오.

관련 문제