Проблема тайм-аута PhantomJS при работе в автономном режиме в GitLab CI - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь использовать GitLab CI для запуска клиентского модульного теста, написанного с использованием QUnit.Теперь для запуска теста Qunit я использую плагин grunt-contrib-qunit.Для запуска этих тестов в автономном режиме я использую этот плагин, который размещает его на локальном сервере в консоли и запускает все модульные тесты.При локальном запуске этого проекта я успешно могу запустить все модульные тесты, но когда я проверяю в своем коде, который запускает процесс CI, на GitLab, он не запускается при запуске сервера phantomjs и выдает ошибку времени ожидания.Я также предоставляю ссылку на jsbin двух текстовых файлов, которые в основном являются выводом модульного теста с моей консоли.Один файл относится к моей локальной системе, а другой - из CI GitLab, который запускается на веб-сайте GitLab при регистрации моего кода.

Дамп выходного файла локальной консоли

Выходной дамп Gitlab CI

Добавление моего файла 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

Также добавление моего файла gruntfile, если это поможет

/* 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"
    ]);
};
...