小编Tim*_*Sch的帖子

Gitlab CI:npm 不喜欢缓存的 node_modules

互联网上充斥着关于 Gitlab 不缓存的抱怨,但在我看来,Gitlab CI 确实缓存正确。问题是,无论如何,npm 似乎都会再次安装所有内容。

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - vendor/
    - bootstrap/
    - node_modules/

build-dependencies:
  image: ...
  stage: build
  script:
  - cp .env.gitlab-testing .env
  - composer install --no-progress --no-interaction
  - php artisan key:generate
  - npm install
  - npm run prod
  - npm run prod
  artifacts:
    paths:
    - vendor/
    - bootstrap/
    - node_modules/
    - .env
    - public/mix-manifest.json
  tags:
  - docker
Run Code Online (Sandbox Code Playgroud)

这是我的 gitlab-ci.yml 文件(好吧..相关部分)。虽然使用了缓存的 Composer 依赖项,但没有使用 node_modules。出于绝望,我什至将所有内容都添加到缓存工件中。

npm gitlab gitlab-ci npm-install

9
推荐指数
4
解决办法
1万
查看次数

测试仅在Gitlab CI中失败,在本地成功

我刚开始使用Gitlab CI(使用docker executor).面对并解决了一些初学者的问题后,我现在面临着一个非常奇怪的问题.
我所有的单元测试都在本地成功,但是当我用CI运行它们时,其中一些测试失败.

一个例子:

[2018-12-09 18:05:57] testing.ERROR: Trying to get property 'email' of non-object {"userId":834,"email":"hugh.will@example.org","exception":"[object] (ErrorException(code: 0): Trying to get property 'email' of non-object at /builds/.../laravel/framework/src/Illuminate/Mail/Mailable.php:492)  
Run Code Online (Sandbox Code Playgroud)

嗯..我知道这个错误意味着什么,但是当测试在本地成功时,调试极其困难,我不知道从哪里开始.

这是我的.yml文件的test_job部分:

test_job:
  stage: test
  services:
  - mysql:5.7
  - redis:latest
  artifacts:
    when: always
    paths:
    - storage/logs/
  dependencies:
  - build_job
  script:
  - sh .gitlab-test.sh
  tags:
  - docker  
Run Code Online (Sandbox Code Playgroud)

只是为了确定 - 我的test.sh

#!/bin/sh
set -xe
php -v
ping -c 3 mysql
php artisan migrate
php artisan db:seed --class=TestingSeeder
php vendor/bin/phpunit --coverage-text --colors  
Run Code Online (Sandbox Code Playgroud)

我的问题: 似乎某个地方解析json失败了,但是Mailable是一个Laravel组件应该(并且确实)工作.
Laravel 5.5和Gitlab …

phpunit laravel gitlab-ci

6
推荐指数
1
解决办法
494
查看次数

使用 Laravel Dusk 模拟按键(无输入元素)

我有一个页面,其中包含一些禁用的输入、跨度和 div。
在后台我等待按键。这是一些记忆游戏的背景。
我的问题是,结果证明它很难测试。
我知道两个函数来模拟输入:type()keys(). 当我使用时keys("@someElement", "34"),我得到“元素不可交互”。类似的情况发生在type()(这并不奇怪,因为 type 建议填写一些输入)。

如何在不使用活动输入元素的情况下正确模拟按键?

laravel-dusk laravel-dusk2

5
推荐指数
1
解决办法
901
查看次数