[解決済み] MiniTestのassert_raises/must_raiseで例外メッセージをチェックするための構文とは?
2023-02-01 19:33:29
質問
MiniTestの例外メッセージをチェックするための構文はどのようなものですか。
assert_raises
/
must_raise
?
私は以下のようなアサーションを行おうとしています。
"Foo"
は期待されるエラーメッセージです。
proc { bar.do_it }.must_raise RuntimeError.new("Foo")
どのように解決するのですか?
あなたは
assert_raises
アサーション、あるいは
must_raise
の期待値です。
it "must raise" do
assert_raises RuntimeError do
bar.do_it
end
-> { bar.do_it }.must_raise RuntimeError
lambda { bar.do_it }.must_raise RuntimeError
proc { bar.do_it }.must_raise RuntimeError
end
エラーオブジェクトで何かをテストする必要がある場合、このようにアサーションや期待値から取得することができます。
describe "testing the error object" do
it "as an assertion" do
err = assert_raises RuntimeError { bar.do_it }
assert_match /Foo/, err.message
end
it "as an exception" do
err = ->{ bar.do_it }.must_raise RuntimeError
err.message.must_match /Foo/
end
end
関連
-
[解決済み] json gem のインストール中にエラー 'mkmf.rb can't find header files for ruby' が発生する。
-
[解決済み] gemのインストールで --no-ri --no-rdoc をデフォルトにするには?
-
[解決済み] アサートの使用に関するベストプラクティス?
-
[解決済み】Assert.Throwsを使って、例外の型をアサーションするには?
-
[解決済み] Rubyのmap(&:method)構文に引数を与えることは可能か?
-
[解決済み] アサーションと例外の使い分けについて
-
[解決済み] Rubyでコンソールから入力を読み込む?
-
[解決済み] Rubyでモジュール変数を作成する
-
[解決済み] インストールされているすべてのGemsを削除して最初からやり直す
-
[解決済み] RubyでCtrl-cをキャプチャする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 文字列を正規表現に変換する ruby
-
[解決済み] Rubyのsend()は何をするのですか?
-
[解決済み] RubyでDateTimeの時間部分を設定する
-
[解決済み] Rubyでjavaのインターフェースに相当するものは何ですか?
-
[解決済み] 文字列内の複数の空白と改行を削除する
-
[解決済み] Rubyで文字列が正規表現にマッチするかどうかをチェックする最も速い方法?
-
[解決済み] 変数名を使ったRubyの正規表現
-
[解決済み] Ruby初心者が注意すべきRuby Gotchasとは?[クローズド]
-
[解決済み] Mavericks と Xcode 5.1 で Ruby Gem install Json が失敗する - unknown argument: '-multiply_definedsuppress'.
-
[解決済み] キュウリのステップを再利用