2010-11-14 17 views
11

¿Alguna estructura de prueba de JavaScript proporciona un equivalente aproximado al más doctest de Python?¿Cómo ejecutar (doctests) de Python en JavaScript?

function add(a, b) { 
    /** 
    Returns the sum of `a` and `b`: 

    > add(1, 3) 
    4 

    Add coerces types to numeric values where possible: 

    > add('51' + 3) 
    54 
    */ 
    return (a - 0) + (b - 0); 
} 
+0

¿Puede agregar más detalles? A primera vista, esto parecía idéntico a http://stackoverflow.com/questions/4180224/what-is-the-standard-way-of-adding-documentation-to-a-javascript-function. –

+0

Esta pregunta se refiere a doctests, esa pregunta se refiere a docstrings. Son fundamentalmente diferentes, aunque ambos se producen en los comentarios. –

+0

"¿Cómo ejecutar (Python) doctest en JavaScript?" me hace pensar que quieres ejecutar código Python en JavaScript. Creo que podrías eliminar el "(Python)" del título de tu pregunta. –

Respuesta

2

No sé lo que estaba fumando ayer. Soory.

doctestjs (doctestjs on github) es el enlace correcto y parece estar en desarrollo activo también.

Aunque funciona un poco diferente del doctest de python, con doctestjs declaras las pruebas en un archivo HTML para que puedan ejecutarse.

Pero supongo que debería ser posible declarar la prueba en línea en su código. Y luego haga un paso de preprocesamiento en su proceso de compilación para extraer las pruebas y cree automágicamente un test-html de ellos

p. cuando uso hormiga me imagino una aplicación de archivo de copia, replaceregexp, concat. p. copie el archivo js, ​​reemplace todo lo que no sea un comentario y todos los comentarios que no parezcan pruebas de doctestjs de los gustos. luego concat htmlhead + tests + headfooter hecho.

+1

¿De verdad? 'JDocTest' es para Java,' jsdoc-toolkit' no parece tener instalaciones de prueba integradas http://code.google.com/p/jsdoc-toolkit/w/list?can=2&q=test. –

+0

Actualicé mi publicación – jitter

+0

Gracias por mirar las cosas –

12

No entiendo el objetivo del paquete de Ian Bicking, doctestjs. Simplemente nos proporciona una forma diferente de escribir pruebas externas normales, no doctests reales.

Uso mucho doctests de python, son bastante importantes para mí, no sé para qué podría ser útil doctestjs, pero encontré algunos doctests verdaderos implementados con este proyecto: https://github.com/davidchambers/doctest.

Incluso si ese no es el proyecto doctest más moderno para javascript, lo prefiero mucho.


Actualización: después de más de un año desde que esta respuesta, he tenido la oportunidad de contribuir al proyecto de David Chambers, que está muy bien escrita. También lo usé en el trabajo en una aplicación compleja usando require.js, y para esto agregamos soporte para módulos AMD. Creo que también agregó soporte para los módulos Common JS. Por lo tanto, solo puedo confirmar mi opinión.

+0

Gracias. Exactamente mi impresión de "doctestjs" también. – benmcdonald

Cuestiones relacionadas