在GitLab CI

时间:2018-05-21 14:03:07

标签: phantomjs gitlab gitlab-ci gitlab-ci-runner

我正在尝试使用GitLab CI来运行使用QUnit编写的一些客户端单元测试。现在运行Qunit测试我正在使用grunt-contrib-qunit插件。要在无头模式下运行这些测试,我使用此插件将其托管在控制台中的localhost服务器上并运行所有单元测试。当我在本地运行这个项目时,我成功地能够运行所有的单元测试,但是当我在我的代码中检查CI进程的哪些内容时,在GitLab上,它启动了phantomjs服务器失败并给出了超时错误。我还提供了两个文本文件的jsbin链接,它们基本上是我的控制台中单元测试的输出。一个文件属于我的本地系统,另一个来自GitLab CI,当我签入我的代码时,它在GitLab网站上运行。

Local Console Output File Dump

Gitlab CI Output Dump

添加我的gitlab-ci.yaml文件

image: node:4.2.2

before_script:
    - dir
    - cd sapui5_repo
    - dir
    - cd app-with-tests

build:
    stage: build
    script:
        - npm i
        - npm run test
    cache:
        policy: push
        paths:
        - node_modules
    artifacts:
        paths:
        - built

如果有帮助,还要添加我的grunt文件

/* global module */

module.exports = function (grunt) {

    grunt.initConfig({
        qunit: {
            all: {
                options: {
                    timeout: 9000,
                    urls: [
                        "http://localhost:9000/webcontent/test/unit/unitTests.qunit.html"
                    ]
                }
            },
            //all: ["webcontent/test/unit/unitTests.qunit.html"],
            options: {
                timeout: 2000,
            }
        },
        connect: {
            options: {
                //open: true,
            },
            first: {
                options: {
                    port: 9000,
                    //livereload: 3500,
                    base: "./"
                }
            },
            second: {
                options: {
                    open: {
                        target: "http://localhost:9000/webcontent"
                    },
                    keepalive: true,
                    port: 9000,
                    livereload: 3501,
                    base: "./",
                }
            }
        },
    });

    grunt.loadNpmTasks("grunt-contrib-connect");
    grunt.loadNpmTasks("grunt-contrib-qunit");


    grunt.registerTask("test", [
        "connect:first", "qunit"
    ]);
    grunt.registerTask("default", [
        "connect:second"
    ]);
};

0 个答案:

没有答案