Javascript代码很难维护
我正在寻找能够帮助我确保合理质量水平的工具
到目前为止,我已经找到JsUNit,这是一个非常好的javascript单元测试框架。可以在任何可用的浏览器上从ant自动运行测试
我还没有发现一些javascript相当于PMD,checkstyle,Findbug ...
你知道javascript的静态代码分析工具吗?
答案 0 :(得分:13)
这是一个老线程,但是如果你有兴趣在你的maven项目中运行Jasmine for BDD测试,我就是为了这个目的编写了这个jasmine-maven-plugin(也就是说,通过鼓励它的TDD来提高JS质量) )。
答案 1 :(得分:10)
我使用以下代码在Maven中作为COMPILE阶段的一部分运行JSLint。
它从maven存储库下载jslint4java,因此您不需要任何其他内容。
如果JSLint在javascript文件中发现问题,则构建将失败。
<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>
答案 2 :(得分:6)
Wro4j-maven-plugin为JavaScript和CSS资源提供了静态代码分析的几个目标,例如:jslint,jshint和csslint
以下是官方Wro4j-maven-plugin documentation的链接。
答案 3 :(得分:4)
我在Codehaus提交的一些插件也可能很有用:
http://mojo.codehaus.org/js-import-maven-plugin/
http://mojo.codehaus.org/jslint-maven-plugin/
第一个将Maven依赖管理带到JavaScript。第二个允许快速有效地调用JSLint。
答案 4 :(得分:1)
“jslint ant任务”的快速Google显示jslint4java,显然包含了Ant任务。
答案 5 :(得分:1)
这个项目看起来很近:
http://dev.abiss.gr/mvn-jstools/index.html
它使用JsLint生成报告。它看起来并不像是嵌入到构建生命周期的测试阶段,所以如果jslint发现问题(我想在我的项目中做什么),我认为它不会拒绝构建。
答案 6 :(得分:1)
jslint4java已被提及几次,我不记得他们添加了哪个版本,但实际上是内置的Maven任务。
传统上使用jslint4java和Maven,人们使用antrun插件来运行jslint4java ant任务,但是你现在可以在Maven中配置它并避免这个额外的步骤。
答案 7 :(得分:0)
我参与了SweetDEV RIA project这是一个由多个“Web 2.0 / Ajax / JavaScript”组件组成的Java标记库。
maven 2构建过程包括一些内部插件,它们启动JSLint(代码验证器),JsMin(代码缩小器),JsDoc generation(JavaDoc类似文档),{{3 (单元测试)和JsUnit(在浏览器中)测试。
您可以查看Selenium。
答案 8 :(得分:0)
新的jslint-maven-plugin看起来很有用。它包装了jslint4java,在构建的测试阶段执行JSLint。
答案 9 :(得分:-1)
Sonar和JavaScript插件:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin