0

require.jsを使用してジャスミン仕様をロードするようにジャスミンmavenプラグインを構成しようとしています。

以下は私のMaven構成です

<plugin>
<groupId>com.github.searls</groupId>
<artifactId>jasmine-maven-plugin</artifactId>
<version>1.1.0</version>
<configuration>
<specRunnerTemplate>REQUIRE_JS</specRunnerTemplate>
<jsSrcDir>${project.basedir}/src/main/webapp/backbone/js</jsSrcDir>
<jsTestSrcDir>${project.basedir}/src/test/javascript/spec</jsTestSrcDir>
<srcDirectoryName>js</srcDirectoryName>
<specDirectoryName>spec</specDirectoryName>
<specIncludes>
<include>*Spec.js</include>
</specIncludes>
<preloadSources>
<source>backbone/js/libs/jquery/jquery.js</source>
<source>backbone/js/libs/require/require.js</source>
<source>backbone/js/libs/underscore/underscore.js</source>
<source>backbone/js/libs/backbone/backbone.js</source>
<source>backbone/js/libs/bootstrap/bootstrap.js</source>
<source>backbone/js/config.js</source>
</preloadSources>
</configuration>
</plugin>

以下は私のジャスミンの仕様です:

define(['models/Specification'], function(Specification) {
describe("Specification", function() {
var specification;
beforeEach(function() {
specification = new Specification();
})
it("thickness set to 4 by default", function () {
expect(specification.thickness).toEqual(4);
});
});
});

以下はjavascriptファイルです

define(["backbone"], function ($, _, Backbone) {
return Backbone.Model.extend({
defaults: {
thickness: 4
}
});
});

次のエラーが発生します:TypeError:未定義のメソッド"extend"を呼び出すことができません

手動でロードする代わりに、require.js構成をロードする方法はありますか?

どんな助けでも大歓迎です。

ありがとう、ラヴィ

4

1 に答える 1

0

rjz の投稿を拡張し、さらに質問に答えるには...はい、require.config ファイルをロードして、すべてのライブラリ ファイル/依存関係をロードさせることができます。プラグインの構成でファイルを一覧表示する必要はありません。Require.js jasmine+maven+requirejs+coverageを使用して jasmine-maven-plugin での経験を要約した簡単な投稿を書きました。参考のために、自分の pom.xml を投稿に含めました。main.js (または require.config を含むもの) は、ソース ファイルの 1 つにすぎませんか? したがって、ソースディレクトリを指す必要があるため、require.config が読み込まれ、jasmine-maven-plugin ではなく、依存関係の読み込みを処理します。これが役立つことを願っています。

于 2012-08-03T21:40:27.103 に答える