3

こんにちは、AngularJS と JS のテストは初めてです。テストをmavenで実行する必要があります。小さなアプリ用のコントローラーとサービスを作成しましたが、それらは機能しています。今、私は持っているJSコードのテストを書きたいです(はい、開発中にテストを書くというルールを破りました)。これまでのところ、mavenでテストを呼び出すことができました。

jasmine-maven-plugin を使用しています。

<plugin>
    <groupId>com.github.searls</groupId>
    <artifactId>jasmine-maven-plugin</artifactId>
    <version>1.3.1.3</version>
    <executions>
        <execution>
            <goals>
                <goal>test</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <jsSrcDir>src/main/webapp/js</jsSrcDir>
        <jsTestSrcDir>src/test/webapp/js</jsTestSrcDir>
        <specIncludes>
            <include>*Spec.js</include>
        </specIncludes>
    </configuration>
</plugin>

mvn testを実行すると、次のように表示されます

[INFO] --- jasmine-maven-plugin:1.3.1.3:test (デフォルト) @ pod-manager-web-ang --- 2013-10-14 14:57:34.322:INFO:oejs.Server:jetty- 8.1.13.v20130916 2013-10-14 14:57:34.378:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:56475 [INFO] Jasmine 仕様の実行

次に、以下のメッセージで失敗します

[ERROR] Caused by: net.sourceforge.htmlunit.corejs.javascript.EcmaError: ReferenceError: "angular" is not defined. (http://localhost:56475/src/controllers/controller.js#3)
[ERROR] at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3603)
[ERROR] at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3587)
[ERROR] at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3657)
[ERROR] at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.name(ScriptRuntime.java:1685)

問題は、これらのテストを実行するために angular.js およびその他の angular JS ファイルをどこに配置すればよいかということです。

4

1 に答える 1