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

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

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

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Ruby

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

Q&A

解決済

2回答

629閲覧

プロを目指す人のためのRuby入門 第3章 テスト結果がnilになってしまう

退会済みユーザー

退会済みユーザー

総合スコア0

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Ruby

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

1グッド

1クリップ

投稿2020/03/11 05:04

現在プロを目指す人のためのRuby入門の書籍を読んで勉強をしているのですが、第3章のFizzBuzzプログラムのテスト自動化の部分でテストコードを書いて実行を行なったのですが、実行結果がnilとなってしまい書籍と同じ結果になりませんでした。

発生している問題・エラーメッセージ

Run options: --seed 34016

Running:

1
F

Finished in 0.002148s, 465.5420 runs/s, 465.5420 assertions/s.

  1. Failure:

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

1 runs, 1 assertions, 1 failures, 0 errors, 0 skips

該当のソースコード

def fizz_buzz(n)
if n % 15 == 0
puts 'Fizz Buzz'
elsif n % 3 == 0
puts 'Fizz'
elsif n % 5 == 0
puts 'Buzz'
else
puts n.to_s
end
end

require 'minitest/autorun'

class FizzBuzzTest < Minitest::Test
def test_fizz_buzz
assert_equal '1',fizz_buzz(1)
assert_equal '2',fizz_buzz(2)
assert_equal 'Fizz',fizz_buzz(3)
end
end

ソースコード

試したこと

コードを再度全て入力してみたのですが上と同じようにうまくテストの結果が出ませんでした。

補足情報(FW/ツールのバージョンなど)

環境はAWSのCloud9です。

DrqYuto👍を押しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

putsreturnに書き換えるとテストは通るかと思います。
今回のケースだと、returnの省略が可能なのでputsを消すだけでもいいですが


「画面への出力」と「メソッドの戻り値」は別です

投稿2020/03/11 05:13

asm

総合スコア15147

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

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

退会済みユーザー

退会済みユーザー

2020/03/11 05:17

putsを削除したらうまくいきました! 回答ありがとうございます。
guest

0

テストを見る限り、結果は表示するのではなく、メソッドの戻り値にするみたいですよ。

投稿2020/03/11 05:12

otn

総合スコア84538

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問