20

Javascript 代码可能很难维护。
我正在寻找能够帮助我确保合理质量水平的工具。
到目前为止,我找到了JsUNIt,一个非常好的 javascript 单元测试框架。可以在任何可用浏览器上从 ant 自动运行测试。
我还没有找到一些与 PMD、checkstyle、Findbug 等价的 javascript...

你知道 javascript 的任何静态代码分析工具吗?

4

10 回答 10

13

这是一个旧线程,但如果您有兴趣在您的 maven 项目中运行 Jasmine 进行 BDD 测试,我正是为此目的编写了这个 jasmine-maven-plugin(即,通过鼓励它的 TDD 来提高 JS 质量)。

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

于 2010-06-28T01:34:25.870 回答
11

作为 Maven 中编译阶段的一部分,我使用以下代码运行 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>
于 2010-10-25T20:09:16.093 回答
6

Wro4j-maven-plugin还为 JavaScript 和 CSS 资源的静态代码分析提供了几个目标,例如:jslintjshintcsslint

这是官方Wro4j-maven-plugin 文档的链接。

于 2011-12-08T19:29:31.200 回答
4

我在 Codehaus 提交的几个插件可能也很有趣:

http://mojo.codehaus.org/js-import-maven-plugin/

http://mojo.codehaus.org/jslint-maven-plugin/

第一个为 JavaScript 带来了 Maven 依赖管理。第二个允许快速有效地调用 JSLint。

于 2010-12-07T05:13:40.403 回答
1

“jslint ant task”的快速谷歌显示jslint4java,它显然包括一个 Ant 任务。

于 2008-09-18T14:17:49.973 回答
1

jslint4java 已经提到过几次,我不记得他们添加了哪个版本,但实际上有一个内置的 Maven 任务。

传统上使用 jslint4java 和 Maven,人们使用 antrun 插件来运行 jslint4java ant 任务,但是您现在可以在 Maven 中配置它并避免额外的步骤。

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

于 2012-03-14T20:04:09.723 回答
1

这个项目看起来很接近:

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

它使用 JsLint 生成报告。它看起来不像构建生命周期的测试阶段,所以我认为如果 jslint 发现问题(这是我想在我的项目中做的),它不会拒绝构建。

于 2009-01-10T19:16:07.447 回答
0

新的jslint-maven-plugin看起来很有用。它包装了 jslint4java,在构建的测试阶段执行 JSLint。

于 2010-09-18T16:10:01.680 回答
0

我参与过SweetDEV RIA 项目,它是一个由多个“Web 2.0/Ajax/JavaScript”组件组成的 Java 标记库。

maven 2 构建过程包括一些内部插件,这些插件启动JSLint(代码验证器)、JsMin(代码压缩器)、JsDoc 生成(JavaDoc 类文档)、JsUnit(单元测试)和Selenium(在浏览器中)测试。

您可以查看SweetDEV RIA maven 插件库

于 2008-10-06T14:00:33.870 回答
-1

声纳和 JavaScript 插件:http ://docs.codehaus.org/display/SONAR/JavaScript+Plugin

于 2011-08-25T19:39:09.143 回答