Ruby on rails CI正在进行样品纱线测试

Ruby on rails CI正在进行样品纱线测试,ruby-on-rails,jestjs,gitlab,yarnpkg,Ruby On Rails,Jestjs,Gitlab,Yarnpkg,我对开玩笑还比较陌生,并尝试在我的GitLab CI上为Rails应用程序运行它。当我在本地运行测试时,它们运行得非常好。我使用此命令运行它们: yarn run test 好了,这和跑步一样: npm run test 当我在CI上运行时,测试通过,但它也在Gems中运行各种示例测试。请参阅下面的日志 为什么我要运行示例测试,如何停止它 $ yarn run test yarn run v1.22.4 $ jest FAIL vendor/ruby/2.7.0/gems/capybara-

我对开玩笑还比较陌生,并尝试在我的GitLab CI上为Rails应用程序运行它。当我在本地运行测试时,它们运行得非常好。我使用此命令运行它们:

yarn run test
好了,这和跑步一样:

npm run test
当我在CI上运行时,测试通过,但它也在Gems中运行各种示例测试。请参阅下面的日志

为什么我要运行示例测试,如何停止它

$ yarn run test
yarn run v1.22.4
$ jest
FAIL vendor/ruby/2.7.0/gems/capybara-3.14.0/lib/capybara/spec/public/test.js
  ● Test suite failed to run
    ReferenceError: $ is not defined
      1 | var activeRequests = 0;
    > 2 | $(function() {
        | ^
      3 |   $('#change').text('I changed it');
      4 |   $('#drag, #drag_scroll, #drag_link').draggable();
      5 |   $('#drop, #drop_scroll').droppable({
      at Object.<anonymous> (vendor/ruby/2.7.0/gems/capybara-3.14.0/lib/capybara/spec/public/test.js:2:1)
PASS app/javascript/reactjs/article/AudioContent.test.js
FAIL vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/environments/__tests__/base.js
  ● Environment › toWebpackConfig › should return multi file entry points
    TypeError: Cannot read property 'sort' of undefined
      32 |     test('should return multi file entry points', () => {
      33 |       const config = environment.toWebpackConfig()
    > 34 |       expect(config.entry.multi_entry.sort()).toEqual([
         |                                       ^
      35 |         resolve('app', 'javascript', 'packs', 'multi_entry.css'),
      36 |         resolve('app', 'javascript', 'packs', 'multi_entry.js')
      37 |       ])
      at Object.<anonymous> (vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/environments/__tests__/base.js:34:39)
  ● Environment › toWebpackConfig › should return default resolve.modules with additions
    expect(received).toEqual(expected) // deep equality
    - Expected  - 3
    + Received  + 0
      Array [
        "/builds/immersive-apps/immersive/app/javascript",
    -   "/builds/immersive-apps/immersive/app/assets",
    -   "/etc/yarn",
    -   "/builds/immersive-apps/immersive/app/elm",
        "node_modules",
      ]
      83 |     test('should return default resolve.modules with additions', () => {
      84 |       const config = environment.toWebpackConfig()
    > 85 |       expect(config.resolve.modules).toEqual([
         |                                      ^
      86 |         resolve('app', 'javascript'),
      87 |         resolve('app/assets'),
      88 |         resolve('/etc/yarn'),
      at Object.<anonymous> (vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/environments/__tests__/base.js:85:38)
PASS vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/config_types/__tests__/config_list.js
PASS app/javascript/reactjs/article/ArticleHeader.test.js
PASS vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/utils/__tests__/get_style_rule.js
PASS app/javascript/reactjs/article/AudioPlayer.test.js
FAIL vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/config.js
  ● Config › should return additional paths as listed in app config, with resolved paths
    expect(received).toEqual(expected) // deep equality
    - Expected  - 5
    + Received  + 1
    - Array [
    -   "app/assets",
    -   "/etc/yarn",
    -   "app/elm",
    - ]
    + Array []
      25 | 
      26 |   test('should return additional paths as listed in app config, with resolved paths', () => {
    > 27 |     expect(config.additional_paths).toEqual(
         |                                     ^
      28 |       [
      29 |         'app/assets',
      30 |         '/etc/yarn',
      at Object.<anonymous> (vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/config.js:27:37)
  ● Config › should return extensions as listed in app config
    expect(received).toEqual(expected) // deep equality
    - Expected  - 1
    + Received  + 1
    @@ -1,6 +1,7 @@
      Array [
    +   ".jsx",
        ".mjs",
        ".js",
        ".sass",
        ".scss",
        ".css",
    @@ -10,7 +11,6 @@
        ".png",
        ".svg",
        ".gif",
        ".jpeg",
        ".jpg",
    -   ".elm",
      ]
      35 | 
      36 |   test('should return extensions as listed in app config', () => {
    > 37 |     expect(config.extensions).toEqual([
         |                               ^
      38 |       '.mjs',
      39 |       '.js',
      40 |       '.sass',
      at Object.<anonymous> (vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/config.js:37:31)
  ● Config › should return static assets extensions as listed in app config
    expect(received).toEqual(expected) // deep equality
    - Expected  - 0
    + Received  + 5
    @@ -4,6 +4,11 @@
        ".png",
        ".gif",
        ".tiff",
        ".ico",
        ".svg",
    +   ".eot",
    +   ".otf",
    +   ".ttf",
    +   ".woff",
    +   ".woff2",
      ]
      54 | 
      55 |   test('should return static assets extensions as listed in app config', () => {
    > 56 |     expect(config.static_assets_extensions).toEqual([
         |                                             ^
      57 |       '.jpg',
      58 |       '.jpeg',
      59 |       '.png',
      at Object.<anonymous> (vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/config.js:56:45)
PASS vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/dev_server.js
PASS vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/development.js
FAIL vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/env.js
  ● Env › with a non-standard environment
    expect(received).toEqual(expected) // deep equality
    - Expected  - 1
    + Received  + 1
      Object {
        "nodeEnv": "production",
    -   "railsEnv": "staging",
    +   "railsEnv": "production",
      }
      39 |     process.env.RAILS_ENV = 'staging'
      40 |     process.env.NODE_ENV = 'staging'
    > 41 |     expect(require('../env')).toEqual({
         |                               ^
      42 |       railsEnv: 'staging',
      43 |       nodeEnv: 'production'
      44 |     })
      at Object.<anonymous> (vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/env.js:41:31)
PASS vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/config_types/__tests__/config_object.js
PASS vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/utils/__tests__/deep_assign.js
FAIL vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/staging.js
  ● Custom environment › toWebpackConfig › should use staging config and default production environment
    expect(received).toEqual(expected) // deep equality
    Expected: "/builds/immersive-apps/immersive/public/packs-staging"
    Received: "/builds/immersive-apps/immersive/public/packs"
      19 |       const config = environment.toWebpackConfig()
      20 | 
    > 21 |       expect(config.output.path).toEqual(resolve('public', 'packs-staging'))
         |                                  ^
      22 |       expect(config.output.publicPath).toEqual('/packs-staging/')
      23 |       expect(config).toMatchObject({
      24 |         devtool: 'source-map',
      at Object.<anonymous> (vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/staging.js:21:34)
PASS vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/production.js
PASS vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__tests__/test.js
PASS vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/utils/__tests__/deep_merge.js
PASS vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/utils/__tests__/objectify.js
FAIL vendor/ruby/2.7.0/gems/webpacker-5.2.1/lib/install/config/webpack/test.js
  ● Test suite failed to run
    Your test suite must contain at least one test.
      at onResult (node_modules/@jest/core/build/TestScheduler.js:175:18)
      at node_modules/@jest/core/build/TestScheduler.js:304:17
      at node_modules/emittery/index.js:260:13
          at Array.map (<anonymous>)
      at Emittery.Typed.emit (node_modules/emittery/index.js:258:23)
FAIL vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/environments/test.js
  ● Test suite failed to run
    Your test suite must contain at least one test.
      at onResult (node_modules/@jest/core/build/TestScheduler.js:175:18)
      at node_modules/@jest/core/build/TestScheduler.js:304:17
      at node_modules/emittery/index.js:260:13
          at Array.map (<anonymous>)
      at Emittery.Typed.emit (node_modules/emittery/index.js:258:23)
Test Suites: 7 failed, 13 passed, 20 total
Tests:       7 failed, 61 passed, 68 total
$纱线运行测试
纱线运行v1.22.4
$jest
失败供应商/ruby/2.7.0/gems/capybara-3.14.0/lib/capybara/spec/public/test.js
● 测试套件无法运行
ReferenceError:$未定义
1 | var activeRequests=0;
>2 |$(函数(){
| ^
3 |$(“#更改”)。文本(“我更改了它”);
4 |$('#拖动,#拖动滚动,#拖动链接')。可拖动();
5 |$(“#下降,#下降#滚动”)。可下降({
at对象。(vendor/ruby/2.7.0/gems/capybara-3.14.0/lib/capybara/spec/public/test.js:2:1)
通过app/javascript/reactjs/article/AudioContent.test.js
失败供应商/ruby/2.7.0/gems/webpacker-5.2.1/package/environments//uuuu测试/uuu测试/base.js
● 环境›TowerBackConfig›应返回多文件入口点
TypeError:无法读取未定义的属性“sort”
32 | test('应返回多文件入口点',()=>{
33 | const config=environment.towerbackconfig()
>34 | expect(config.entry.multi_entry.sort()).toEqual([
|                                       ^
35 |解析('app','javascript','packs','multi_entry.css'),
36 |解析('app','javascript','packs','multi_entry.js')
37 |       ])
在对象上。(vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/environments/__;tests__;/base.js:34:39)
● Environment›TowerBackConfig›应返回默认的resolve.modules及附加内容
expect(received).toEqual(expected)//深度相等
-预期-3
+收到+0
排列[
“/builds/immersive apps/immersive/app/javascript”,
-“/builds/immersive apps/immersive/app/assets”,
-“/etc/纱线”,
-“/builds/immersive apps/immersive/app/elm”,
“节点_模块”,
]
83 | test('应返回带有附加项的默认resolve.modules',()=>{
84 | const config=environment.towerbackconfig()
>85 | expect(config.resolve.modules).toEqual([
|                                      ^
86 |解析('app','javascript'),
87 |解决(“应用程序/资产”),
88 |解析('/etc/warn'),
在对象上。(vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/environments/__;tests\u___;/base.js:85:38)
通过vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/config_types//uuu_测试/uu_/config_list.js
通过app/javascript/reactjs/article/ArticleHeader.test.js
通过vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/utils//uuuu测试\uuuu/get\u style\u rule.js
通过app/javascript/reactjs/article/AudioPlayer.test.js
失败供应商/ruby/2.7.0/gems/webpacker-5.2.1/package//uuuu tests\uuuu/config.js
● Config›应返回应用程序配置中列出的其他路径,以及已解析的路径
expect(received).toEqual(expected)//深度相等
-预期-5
+收到+1
-排列[
-“应用程序/资产”,
-“/etc/纱线”,
-“应用程序/elm”,
- ]
+数组[]
25 | 
26 | test('应返回应用程序配置中列出的其他路径,以及已解析的路径',()=>{
>27 | expect(配置其他路径)。toEqual(
|                                     ^
28 |       [
29 |“应用程序/资产”,
30 |'/等/纱',
在对象上。(vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__-tests\u_/config.js:27:37)
● Config›应返回app Config中列出的扩展名
expect(received).toEqual(expected)//深度相等
-预期-1
+收到+1
@@ -1,6 +1,7 @@
排列[
+“.jsx”,
“.mjs”,
“.js”,
“.sass”,
“.scss”,
“.css”,
@@ -10,7 +11,6 @@
“.png”,
“.svg”,
“.gif”,
“.jpeg”,
“.jpg”,
-“.elm”,
]
35 | 
36 | test('应返回应用程序配置中列出的扩展名',()=>{
>37 | expect(config.extensions).toEqual([
|                               ^
38 |‘.mjs’,
39 |'.js',
40 |'sass',
在对象上。(vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__-tests\u_/config.js:37:31)
● 配置›应返回应用程序配置中列出的静态资产扩展
expect(received).toEqual(expected)//深度相等
-预期为-0
+收到+5
@@ -4,6 +4,11 @@
“.png”,
“.gif”,
“.tiff”,
“.ico”,
“.svg”,
+“.eot”,
+“.otf”,
+“.ttf”,
+“.woff”,
+“.woff2”,
]
54 | 
55 | test('应返回应用程序配置中列出的静态资产扩展',()=>{
>56 | expect(配置静态资产扩展)。toEqual([
|                                             ^
57 |'.jpg',
58 |“.jpeg”,
59 |'.png',
在对象上。(vendor/ruby/2.7.0/gems/webpacker-5.2.1/package/__-tests\u_/config.js:56:45)
通过vendor/ruby/2.7.0/gems/webpacker-5.2.1/package//uuu测试/uu测试/dev\u服务器.js
通过vendor/ruby/2.7.0/gems/webpacker-5.2.1/package//uuuu测试/uuuu/development.js
未能通过供应商/ruby/2.7.0/gems/webpacker-5.2.1/package//uuuu测试/uuuu/env.js
● 环境›具有非标准环境
expect(received).toEqual(expected)//深度相等
-预期-1
+收到+1
反对{
“nodeEnv”:“生产”,
-“railsEnv”:“登台”,
+“railsEnv”:“生产”,
}
39 | process.env.RAILS_env='staging'
40 | process.env.NODE_env='staging'
>41 | expect(require('../env')).toEqual({
|                               ^
42 | railsEnv:“登台”,
43 |诺丁诺夫:“生产”
"jest": {
...
"testPathIgnorePatterns": [
  "<rootDir>/vendor/"
]
  "scripts": {
    "test": "jest --verbose ./app/javascript"
  },