2011-03-05 8 views
10

Por el momento estoy trabajando en una biblioteca JS para un servicio web, puede compararla con Twitter Anywhere. Ahora quiero hacerlo más impulsado por las pruebas. No es fácil de probar porque tiene que funcionar en todos los sitios que quieran usarlo, y por supuesto con cada navegador.Desarrollo impulsado por prueba para una biblioteca JavaScript

¿Cómo puedo probar la biblioteca de manera eficiente?

Todas las solicitudes y respuestas de API están en JSON, ¿hay alguna manera de probar estas llamadas?

Sé acerca de Cucumber and js-test-driver.

Saludos, Chielus

+1

¿Has echado un vistazo a Jasmine (http://pivotal.github.com/jasmine/) todavía? – polarblau

+0

No creo que pueda hacer BDD, porque es una biblioteca que tiene que funcionar con todo tipo de sitios. – Chielus

Respuesta

5

lenguaje Javascript es dinámica por naturaleza, por lo que es muy amigable basado en pruebas. Recientemente obtuve un poco de experiencia con las pruebas de JavaScript. ¡He reescrito los principales componentes de JavaScript usando TDD y obtuve un diseño claro y un código más compacto!

  1. marco de prueba de la unidad de elección es qUnit. Es muy fácil comenzar con las pruebas.
  2. marco de prueba funcional de choise es funcunit.

Hice una publicación en el blog de probar REST api con FuncUnit here.

Si necesita algunos ejemplos de pruebas e implementación, puede consultar mi github repository.

no hacen preguntas, acaba de empezar la prueba :)

+0

Gracias por tu publicación en el blog, muy interesante ver un ejemplo (¡que está tan cerca de mi uso!) – Chielus

+0

@Chielus - ¡bienvenido! –

2

Si usted sabe sobre JsTestDriver Creo que ya has encontrado una buena solución?

Puede utilizarlo para iniciar automáticamente sus pruebas en varios navegadores y devolver el éxito o el fracaso.

Esto lo diferencia de otras herramientas que usan navegadores sin cabeza, ya que con jsTestDriver está ejecutando sus pruebas en buscadores reales, que parece cumplir sus requisitos.

jsTestDriver viene con su propio marco de afirmación limitado, pero puede conectar otros, incluidos QUnit, YUI y Jasmine.

Usted dijo anteriormente en relación con Jasmine, "No creo que pueda hacer BDD, porque es una biblioteca que tiene que funcionar con todo tipo de sitios". No estoy seguro de lo que quieres decir con esto?

Jasmine proporciona todas las afirmaciones para que pueda hacer las mismas pruebas que QUnit. También le permite 'espiar' las devoluciones de llamada de Ajax, interceptar el JSON para examinarlo o incluso modificarlo, y luego pasarlo a su devolución de llamada predeterminada. Con esto puedes verificar la respuesta JSON y luego verificar nuevamente cuando tu UI ha reaccionado de la manera correcta.

Cuestiones relacionadas