javascript - jasmine-maven-plugin 加载一些其他测试实用程序通用脚本

标签 javascript jasmine phantomjs jasmine-maven-plugin

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

所以我的源文件夹是:

<jsSrcDir>${project.basedir}/src/main/js</jsSrcDir>

和我的测试源:

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

在 src/test/js 中,我有一个 testUtil.js 文件,我需要在其他 jasmine 测试中加载该文件。是否可以从 jasmine 测试中访问此类文件?

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

最佳答案

这就是我成功做到这一点的方法:

  1. 我添加了require.js到我的规范文件夹

    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. 要注入(inject)此数据对象的测试需要一个定义指令:

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

关于javascript - jasmine-maven-plugin 加载一些其他测试实用程序通用脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24654534/

相关文章:

javascript - 循环到我的对象中的文件系统结构以获取所有文件

javascript - Jasmine/Jest 类型冲突

javascript - 使用 Jasmine 测试从 jQuery AJAX 回调调用的函数

node.js - 将 phantomJS 部署到 node.js 应用程序?

javascript - 奇怪的行为删除关键字phantomjs

Javascript wheel 事件锁定为水平或垂直移动,不允许对 Angular 线移动

javascript - 如何在nodejs中维护事件循环的持久数据?

javascript - 如何修改WebRTC MediaStream视频轨道的内容?

angularjs - 使用Jasmine和Karma难以在AngularJS中进行测试驱动开发

javascript - PhantomJS 5-min Wiki phantom.exit() 奇怪