2008-09-18 83 views
19

JavaScript代碼可能很難維護。
我在尋找能幫助我確保合理質量水平的工具。
到目前爲止,我發現了JsUNit,這是一個非常好的javascript單元測試框架。測試可以在任何可用的瀏覽器上從螞蟻自動運行。
我還未找到一些JavaScript等效的PMD,checkstyle,Findbug ...
Maven插件分析javascript代碼質量

您知道有關JavaScript的任何靜態代碼分析工具嗎?

+0

您的標題似乎沒有道理。 maven與JavaScript質量控制有什麼關係? – SCdF 2008-09-18 20:05:06

+2

修正了標題。另外,Maven與任何源代碼的質量控制有很大關係,因爲它可以自動且一致地爲臺式機和CI服務器的開發人員提供構建和同步的質量報告。 – HDave 2012-02-09 20:15:15

回答

1

「jslint ant任務」的快速Google顯示jslint4java,其中顯然包含Ant任務。

+0

使用antrun插件,jslint4java ant任務應該相當容易嵌入到maven中。 – 2009-03-24 11:01:47

+1

我記錄瞭如何做到這一點:http://happygiraffe.net/blog/2009/07/28/jslint4maven/ – 2009-08-18 12:17:43

0

我在SweetDEV RIA project上工作過,這是一個由多個「Web 2.0/Ajax/JavaScript」組件組成的Java標記庫。

的行家2構建過程包括一些內部插件這將啓動JSLint(碼驗證器),JsMin(代碼minifier),JsDoc generation(JavaDoc的像文檔),JsUnit(單元測試)和Selenium(在瀏覽器)的測試。您可以查看the SweetDEV RIA maven plugins repository

+0

你可以編輯你的答案,並修復在最後斷開的鏈接?並用https://github.com/pivotal/jsunit替換`jsunit.net`鏈接(jsunit.net域名已被廣告公司採納) – 2013-06-08 14:12:41

1

這個項目看起來接近:

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

它產生與JSLint的報告。它看起來並不像它掛鉤到構建生命週期的測試階段,所以如果jslint發現問題(這是我想要在我的項目上做的),我不認爲它會拒絕構建。

13

這是一個古老的線程,但是如果您有興趣在您的Maven項目中運行Jasmine for BDD測試,我爲此寫了這個jasmine-maven-plugin(即通過鼓勵TDD它)。

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

+1

+1大插件,謝謝。 – earcam 2012-01-19 09:56:36

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> 
1

jslint4java已被提及幾次,我不記得他們添加了哪個版本,但實際上有一個內置的Maven任務。

傳統上使用jslint4java和Maven,人們使用antrun插件來運行jslint4java ant任務,但現在可以在Maven中配置它,並避免額外的步驟。

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