我有多个测试需要共享相同的常用实用程序脚本。我不想将此文件放在源文件夹结构中,因为它只与测试有关。
所以我的源文件夹是:
<jsSrcDir>${project.basedir}/src/main/js</jsSrcDir>
和我的测试来源:
<jsTestSrcDir>src/test/js</jsTestSrcDir>
在src / test / js中我有一个testUtil.js文件,我需要在其他jasmine测试中加载。是否可以从茉莉花测试中访问这些文件?
describe('Load Util Module', function() {
it('check util is loaded', function() {
//load testUtil.js
});
});
答案 0 :(得分:0)
这就是我设法做到的方式:
我将require.js添加到我的规格文件夹
src/test/js/require.js
在jasmine-maven-plugin配置中,我添加了REQUIRE_JS规范运行器模板:
<specRunnerTemplate>REQUIRE_JS</specRunnerTemplate>
数据文件位于:
src/test/js/testUtil.js
具有以下内容:
define([], function() {
return {
"data" : [1, 2, 3]
};
});
要注入此数据对象的测试需要一个define指令:
define(['../../../spec/testUtil'], function(testUtil) {
var _testUtil = testUtil;
describe('Testing data loaded', function () {
it('loads test data', function () {
expect(testUtil.data.length).toBe(3);
});
});
});
答案 1 :(得分:0)
如果你还没有将require.js用于你的项目,那么你的解决方案就是矫枉过正。
如果要确保在规范之前加载库,则只需使用preloadSources配置参数。
<preloadSources>
<source>src/test/js/testUtil.js</source>
<preloadSources>