0

我正在尝试配置 jasmine maven 插件以使用 require.js 加载 jasmine 规范。

下面是我的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:无法调用未定义的方法“扩展”

无论如何加载我的 require.js 配置而不是手动加载它们?

任何帮助表示赞赏。

谢谢,拉维

4

1 回答 1

0

要扩展 rjz 的帖子并进一步回答问题......是的,您可以加载您的 require.config 文件并让它为您加载所有库文件/依赖项。无需列出插件配置中的文件。我写了一篇简短的文章,总结了我使用 Require.js jasmine+maven+requirejs+coverage使用 jasmine-maven-plugin 的经验。我在帖子中包含了我的 pom.xml 以供参考。您的 main.js(或包含您的 require.config 的任何内容)应该只是您的源文件之一,是吗?所以应该指向你的源目录,因此你的 require.config 被加载,它处理你的依赖项的加载,而不是 jasmine-maven-plugin。希望我的这有帮助。

于 2012-08-03T21:40:27.103 回答