2008-09-18 27 views
19

El código JavaScript puede ser difícil de mantener.
Estoy buscando herramientas que me ayuden a garantizar un nivel de calidad razonable.
Hasta ahora he encontrado JsUNit, un muy buen marco de prueba de unidad para javascript. Las pruebas se pueden ejecutar automáticamente desde cualquier navegador disponible.
no he encontrado todavía algún equivalente Javascript de PMD, Checkstyle, Findbug ...
Complementos Maven para analizar la calidad del código JavaScript

¿Conoce cualquier herramienta de análisis de código estático para JavaScript?

+0

Su título no parece tener sentido. ¿Qué tiene que ver maven con el control de calidad de JavaScript? – SCdF

+2

Se corrigió el título. Además, Maven tiene mucho que ver con el control de calidad sobre cualquier código fuente y porque puede bombear de forma automática y consistente informes de calidad e informes sincronizados para desarrolladores desde equipos de escritorio y servidores de CI. – HDave

Respuesta

1

Un rápido Google para "jslint hormiga tarea" revela jslint4java, que al parecer incluye una tarea Ant.

+0

La tarea de hormiga jslint4java debe ser bastante fácil de incrustar en maven usando el plugin antrun. –

+1

documenté cómo hacerlo: http://happygiraffe.net/blog/2009/07/28/jslint4maven/ –

0

He trabajado en la SweetDEV RIA project que es una biblioteca de etiquetas Java compuesta por varios componentes "Web 2.0/Ajax/JavaScript".

El proceso de construcción Maven 2 incluye algunos plugins internos que se lanza JSLint (verificador de códigos), JsMin (código), Minifier JsDoc generation (como en la documentación JavaDoc), JsUnit (pruebas unitarias) y Selenium (en el navegador) pruebas.

Puede echar un vistazo en the SweetDEV RIA maven plugins repository.

+0

¿Podría editar su respuesta y arreglar el enlace roto al final? Y reemplace el enlace 'jsunit.net' con https://github.com/pivotal/jsunit (el dominio jsunit.net ha sido tomado por una compañía publicitaria) –

1

Este proyecto parece estar cerca:

http://dev.abiss.gr/mvn-jstools/index.html

Se genera un informe con JSLint. No parece que se enganche en la fase de prueba del ciclo de vida de compilación, por lo que no creo que rechace una compilación si jslint encuentra problemas (que es lo que me gustaría hacer en mis proyectos).

13

Este es un hilo viejo, pero si estás interesado en ejecutar Jasmine para pruebas BDD en tu proyecto maven, escribí este plugin de jazmín-maven exactamente para este propósito (es decir, mejorar la calidad JS mediante el fomento de TDD de eso).

http://github.com/searls/jasmine-maven-plugin

+1

+1 Gran plugin, gracias. – earcam

0

El nuevo jslint-maven-plugin parece útil. Envuelve jslint4java, ejecutando JSLint durante la fase de prueba de tu compilación.

10

He utilizado el siguiente código para ejecutar JSLint como parte de la fase COMPILAR en Maven.

Descarga jslint4java del repositorio de maven para que no necesite nada más.

Si JSLint encuentra problemas en los archivos javascript, la compilación fallará.

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.6</version> 
      <executions> 
       <execution> 
        <phase>compile</phase> 
        <goals> 
         <goal>run</goal> 
        </goals> 
        <configuration> 
         <target> 
          <taskdef name="jslint" classname="com.googlecode.jslint4java.ant.JSLintTask" classpath="${settings.localRepository}/com/googlecode/jslint4java/jslint4java-ant/1.4.2/jslint4java-ant-1.4.2.jar" /> 
          <jslint options="white,browser,devel,undef,eqeqeq,plusplus,bitwise,regexp,strict,newcap,immed"> 
           <predef>Ext,Utils</predef> 
           <formatter type="plain" /> 
           <fileset dir="${basedir}/src/main/resources/META-INF/resources/js" includes="**/*.js" /> 
          </jslint> 
         </target> 
        </configuration> 
       </execution> 
      </executions> 
      <dependencies> 
       <dependency> 
        <groupId>com.googlecode.jslint4java</groupId> 
        <artifactId>jslint4java-ant</artifactId> 
        <version>1.4.2</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
1

jslint4java ha sido mencionado varias veces, no recuerdo qué versión lo agregaron, pero en realidad hay una tarea Maven incorporada.

Tradicionalmente, con jslint4java y Maven, la gente ha usado el plugin antrun para ejecutar la tarea jslint4java y, sin embargo, ahora puedes configurarlo todo en Maven y evitar ese paso adicional.

http://docs.jslint4java.googlecode.com/git/2.0.2/maven.html

Cuestiones relacionadas