0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Ruby on Rails Tutorial】6章のテストでエラー

Posted at

【Ruby on Rails Tutorial】6章のテストでエラー

Ruby on Rails Tutorial 6章の「リスト 6.10」を実行。
すると、あるエラーが発生した。
その後はいつも通りライアーゲームのBGMが脳内で流れると共に膝から崩れ落ちて就寝。
次の日の朝「直すか……」

目次

  1. どういうエラー?
  2. 解決法は?
  3. 参考文献

どういうエラー?

以下のようなエラーが発生。

ターミナル

PS C:\Users\(ユーザー名)\Desktop\Web\Ruby\rails_tutorial\sample_app2> rails test:models

ansi: 'gem install win32console' to use color on Windows
LoadError: UNIXServer is required
per.rb:9:in `<class:TestCase>'
C:/Users/(ユーザー名)/Desktop/Web/Ruby/rails_tutorial/sample_app2/test/test_helper.rb:7:in `<top (required)>'
C:/Users/(ユーザー名)/Desktop/Web/Ruby/rails_tutorial/sample_app2/test/models/user_test.rb:1:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => test:models
(See full trace by running task with --trace)

 エラー文を読み解いてみる→それで頑張ってググるなどした。しかし、そのように出てきた情報で解決したわけではない。
 なんか前にも似たようなことがあった気がすると考え、それをやってみたら直った。それを記す。

解決法は?

まず悪さをしていたのは以下の「これを直すんや」の部分である。
ちなみに正確に言うと悪いのはこいつではない。
テストコードのテストを1つずつやってみたら、すんなりと成功(GREEN)するのだ。
つまり、悪さをしているのは並行処理を行うことでエラーが起きるRailsの方である。

system>test_helper.rb
ENV['RAILS_ENV'] ||= 'test'
require_relative "../config/environment"
require "rails/test_help"

class ActiveSupport::TestCase
  # Run tests in parallel with specified workers
  parallelize(workers: :number_of_processors, with: :threads) # ←これを直すんや

  # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
  fixtures :all

  # Add more helper methods to be used by all tests here...
end

system>test_helper.rb
  parallelize(workers: 1) # ←こうするんや

すると

 PS C:\Users\(ユーザー名)\Desktop\Web\Ruby\rails_tutorial\sample_app2> rails test:models
Started with run options --seed 34075


  /0: [=---=---=---=---=---=---=---=---=---=-] 0% Time: 00:00:00,  ETA: 
  2/0: [                                     ] 0% Time: 00:00:00,  ETA: 
  2/1: [==================                  ] 50% Time: 00:00:00,  ETA: 
  2/2: [===================================] 100% Time: 00:00:00, Time: 
00:00:00

Finished in 0.23506s
2 tests, 2 assertions, 0 failures, 0 errors, 0 skips

テスト成功。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?