Jasmine-maven-plugin加载一些其他测试工具的通用脚本

jasmine-maven-plugin load some other test utilities common script

本文关键字:脚本 测试工具 其他 加载 Jasmine-maven-plugin      更新时间:2023-09-26

我有多个测试需要共享相同的公共实用程序脚本。我不想把这个文件放在源文件夹结构中,因为它只与测试相关。

所以我的源文件夹是:
<jsSrcDir>${project.basedir}/src/main/js</jsSrcDir>

和我的测试源:

<jsTestSrcDir>src/test/js</jsTestSrcDir>

在src/test/js中,我有一个testtil .js文件,我需要在其他茉莉测试中加载。是否有可能从jasmine测试中访问这些文件?

describe('Load Util Module', function() {
    it('check util is loaded', function() {
        //load testUtil.js
    });
});

我是这样做的:

  1. 我将require.js添加到我的specs文件夹

    src/test/js/require.js
    
  2. 在jasmine-maven-plugin配置中,我添加了REQUIRE_JS规范运行程序模板:

    <specRunnerTemplate>REQUIRE_JS</specRunnerTemplate>
    
  3. 数据文件位于:

    src/test/js/testUtil.js
    

    具有以下内容:

    define([], function() {
        return {
            "data" : [1, 2, 3]
        };
    });
    
  4. 要注入此数据对象的测试需要一个定义指令:

    define(['../../../spec/testUtil'], function(testUtil) {
        var _testUtil = testUtil;
        describe('Testing data loaded', function () {
            it('loads test data', function () {            
                 expect(testUtil.data.length).toBe(3);
             });
        });
    });
    

如果你还没有为你的项目使用require.js,那么你的解决方案是多余的。

如果你想确保你的库在你的规范之前加载,你只需要使用preloadSources配置参数。

<preloadSources>
  <source>src/test/js/testUtil.js</source>
<preloadSources>