質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

727閲覧

テストの失敗対処方を教えてください。

Yamato_kawakami

総合スコア20

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2019/03/21 12:43

一度目のエラーは
F

Failure:
SampleTest#test_sample [sample_test.rb:5]:
Expected: "Ruby"
Actual: "RUBY"
二度目のエラーは
F

Failure:
FizzBuzzTest#test_fizz_buzz [fizz_buzz.rb:16]:
Expected: "1"
Actual: nil

bin/rails test fizz_buzz.rb:15

2回ともコードは編集せずにターミナルで起動させたのですが、エラーの内容が1回目と2回目の内容が違っててもうさっぱりわかりません。エラーでいう5行目と16行目のどこを治したらエラーせずに動くのでしょうか

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

1 def fizz_buzz(n)
2 if n % 15 == 0
3 'Fizz_buzz'
4 elsif n % 3 == 0
5 'Fizz'
6 elsif n % 5 == 0
7 'Buzz'
8 n.to_s
9 end
10 end
11
12 require 'minitest/autorun'
13
14 class FizzBuzzTest < Minitest::Test
15 def test_fizz_buzz
16 assert_equal '1',fizz_buzz(1)
17 assert_equal '2',fizz_buzz(2)
18 assert_equal 'Fizz',fizz_buzz(3)
19 end
20 end

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

Run options: --seed 38195

Running:

F

Failure:
FizzBuzzTest#test_fizz_buzz [fizz_buzz.rb:16]:
Expected: "1"
Actual: nil

bin/rails test fizz_buzz.rb:15

Finished in 0.000933s, 1071.8115 runs/s, 1071.8115 assertions/s.
1 runs, 1 assertions, 1 failures, 0 errors, 0 skips

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2019/03/21 13:43

「エラーの内容が1回目と2回目の内容が違っててもうさっぱりわかりません」って、1回目は[sample_test.rb:5]、2回目は[fizz_buzz.rb:16]でRubyのファイルが違うんでしょ? 当然、エラーの内容も違うと思うのですが。。。。  落ち着いて、もう少し普通の人が理解できるレベルの質問文を書いてください。
gouf

2019/03/21 14:13

「'Buzz'」と「n.to_s」の間に「else」の行を差し込んだ場合、なにか変化は見られますか?
gouf

2019/03/21 14:16

CUI なエディタを使われているのかもしれませんが、もしそれが Vim であれば「:set nonumber」してからコピペすると行番号を除いた状態で、マウス操作によるコピペができるかもしれません
gouf

2019/03/22 04:56

もし解決した場合、状況をまとめた自己回答を投稿し、それをベストアンサーに設定して この質問を解決済みにしてください
guest

回答1

0

自己解決

1 def fizz_buzz(n)
2 if n % 15 == 0
3 'Fizz_buzz'
4 elsif n % 3 == 0
5 'Fizz'
6 elsif n % 5 == 0
7 'Buzz'
8 else ←入れ忘れ
9 n.to_s
10 end
11 end
12
13 require 'minitest/autorun'
14
15 class FizzBuzzTest < Minitest::Test
16 def test_fizz_buzz
17 assert_equal '1',fizz_buzz(1)
18 assert_equal '2',fizz_buzz(2)
19 assert_equal 'Fizz',fizz_buzz(3)
20 end
21 end

投稿2019/03/22 05:30

Yamato_kawakami

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問