Как заставить кипарис работать с аурелией с помощью GitHub и локально? - PullRequest
6 голосов
/ 11 февраля 2020

Хорошо, поэтому я добавил кипарис в аурелию во время моей конфигурации, и он работал нормально. Когда я решил настроить кипарис на github как на команду, я не смог распознать кукловода как браузер. Поэтому вместо этого я использовал официальные действия GitHub для Cypress, и это работает

      - name: test
        uses: cypress-io/github-action@v1
        with:
          start: yarn start
          browser: ${{matrix.browser}}
          record: true
        env:
          # pass the Dashboard record key as an environment variable
          CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}

, однако мне пришлось установить cypress.json следующим образом

{
  "baseUrl": "http://localhost:8080",
  "fixturesFolder": "test/e2e/fixtures",
  "integrationFolder": "test/e2e/integration",
  "pluginsFile": "test/e2e/plugins/index.js",
  "screenshotsFolder": "test/e2e/screenshots",
  "supportFile": "test/e2e/support/index.js",
  "videosFolder": "test/e2e/videos",
  "projectId": "..."
}

и теперь запускать yarn e2e не работает, потому что сервер не работает, так как он больше не делает это сам с помощью cypress.config.js

const CLIOptions =  require( 'aurelia-cli').CLIOptions;
const aureliaConfig = require('./aurelia_project/aurelia.json');
const PORT = CLIOptions.getFlagValue('port') || aureliaConfig.platform.port;
const HOST = CLIOptions.getFlagValue('host') || aureliaConfig.platform.host;

module.exports = {
  config: {
    baseUrl: `http://${HOST}:${PORT}`,
    fixturesFolder: 'test/e2e/fixtures',
    integrationFolder: 'test/e2e/integration',
    pluginsFile: 'test/e2e/plugins/index.js',
    screenshotsFolder: 'test/e2e/screenshots',
    supportFile: 'test/e2e/support/index.js',
    videosFolder: 'test/e2e/videos'
  }
};

как я могу сделать так, чтобы yarn e2e работал, как раньше, и имел он работает на github? (мне все равно, какая часть уравнения изменяется)

вот yarn e2e не уверен, что au делает под капотом.

    "e2e": "au cypress",

1 Ответ

3 голосов
/ 21 февраля 2020

Самый простой способ добиться этого, создать test/e2e/cypress-config.json

{
  "baseUrl": "http://localhost:8080",
  "fixturesFolder": "test/e2e/fixtures",
  "integrationFolder": "test/e2e/integration",
  "pluginsFile": "test/e2e/plugins/index.js",
  "screenshotsFolder": "test/e2e/screenshots",
  "supportFile": "test/e2e/support/index.js",
  "videosFolder": "test/e2e/videos",
  "projectId": "1234"
}

, а затем настроить действие github следующим образом.

      - name: test
        uses: cypress-io/github-action@v1
        with:
          config-file: tests/e2e/cypress-config.json
          start: yarn start
          browser: ${{matrix.browser}}
          record: true
        env:
          # pass the Dashboard record key as an environment variable
          CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}

путь не имеет значения, просто что вы настраиваете тот же. Просто убедитесь, что это не пересекается с тем, что хочет Аурелия.

...