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

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

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

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

Q&A

解決済

1回答

691閲覧

ハッシュ記法変換のテストコードを実行中に出たエラーの詳細が分からない

tama2

総合スコア3

Ruby

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

1グッド

1クリップ

投稿2021/04/14 10:14

編集2021/04/14 10:38

前提・実現したいこと

どう間違えているのかが分からないので、ご解説いただければありがたく質問差し上げております。

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

エラーメッセージ Failure: ConvertHashSyntaxTest#test_convert_hash_syntax [C:(フォルダの場所)/test/convert_hash_syntax_test.rb:20]: Expected: "{\n name: \"Alice\",\n age: 20,\n gender: :female\n}\n" Actual: "{\n :name => \"Alice\",\n :age=>20,\n :gender => :female\n}\n"

該当のソースコード

  require "minitest/autorun"   require "../lib/convert_hash_syntax"   class ConvertHashSyntaxTest < Minitest::Test   def test_convert_hash_syntax old_syntax = <<~TEXT { :name => "Alice", :age=>20, :gender => :female }  TEXT  expected = <<~TEXT { name: "Alice", age: 20, gender: :female }  TEXT  assert_equal expected, convert_hash_syntax(old_syntax)  end  end

試したこと

似たご質問を見かけてそれが文字の打ち間違いだったので自分もそうかと
見直しましたが見当たりませんでした。

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

Ruby 2.7.2
visual studio codeを使用

 def convert_hash_syntax(old_syntax) old_syntax.gsub(/:(\w+)*=>* /,"\1: ")  end

にて、ハッシュ記法変換プログラムは入力済みの状況になります。

shinoharat👍を押しています

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

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

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

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

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

shinoharat

2021/04/14 10:27

質問文のソースコードのインデントが潰れていて読みづらいです。 ソースコードは「 ``` 」で囲って、 ``` require "minitest/autorun" require "../lib/convert_hash_syntax" class ConvertHashSyntaxTest < Minitest::Test ・・・ end ``` みたいに書いてください。
shinoharat

2021/04/14 10:28

エラーメッセージも同様に「 ``` 」で囲ってもらえると見やすくて助かります。 (質問自体の回答じゃなくて申し訳ないです)
tama2

2021/04/14 10:32

ご指摘ありがとうございます! 何分、色々とはじめたてなもので、こちらこそお目汚し申し訳ありません。早速取り掛かります。
guest

回答1

0

ベストアンサー

エラーは発生していません。
ちゃんとテストが動いています。
テストの結果、期待していた値と、実際の値が異なるので、「テストに失敗したよ!どっかにバグあるよ!」と教えてくれているだけです。
ちなみに Expected が期待値で、 Actual が実際の値です。

Actual の値をよく見ると、ハッシュに => が残ったままなので、 convert_hash_syntax の実装がどこかおかしいのだと思います。

(これで答えになってますかね?)

投稿2021/04/14 10:42

shinoharat

総合スコア1676

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

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

tama2

2021/04/14 10:56

ご指摘の通り、実装のコードの方に問題がありまして(無駄なspace他)、 修正したところ無事に完了することが出来ました! 懇切にご対応いただき、ありがとうございました! :D
shinoharat

2021/04/14 11:28

無事に解決したようでなによりです ????
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問