Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Unittestにおけるアサートメソッドの使用:テスト結果の検証 | Unittestフレームワークの習得
Python構造化プログラミング
セクション 5.  2
single

single

bookUnittestにおけるアサートメソッドの使用:テスト結果の検証

メニューを表示するにはスワイプしてください

assert メソッドは unittest.TestCase クラスの一部であり、テスト内の条件を検証するために使用されます。 簡単に言えば、Test クラス内の各テストメソッドは self.assert のような文で終了します。

よく使われる assert メソッド

MethodCheckExample
assertEqual(a, b)a == bassertEqual(sum([1, 2, 3]), 6)
assertNotEqual(a, b)a != bassertNotEqual(1, 2)
assertTrue(x)bool(x) is TrueassertTrue(isinstance(123, int))
assertFalse(x)bool(x) is FalseassertFalse(isinstance("hello", int))
assertIs(a, b)a is ba = 1, b = a
assertIsNone(x)x is Nonebook.price = None
assertIn(a, b)a in bassertIn(2, [1, 2, 3])
assertIsInstance(a, b)isinstance(a, b)assertIsInstance(123, int)

また、assertRaises(Error, func, *args, **kwargs) はエラーが発生することをテストするために使用されます。例:

with self.assertRaises(ValueError):
    int("xyz")

これは "xyz" を整数に変換しようとすると ValueError が発生することを確認します。

タスク

スワイプしてコーディングを開始

あなたの課題は、assertフレームワークでさまざまなunittestメソッドを使う練習をすることです。TestFunctionsクラスを完成させ、以下の各チェックごとに個別のテストメソッドを書いてください。各チェックには、下記で指定された正確なメソッド名を使用してください。

  • add(2, 3)5を返すことをassertEqualで確認します。メソッド名: test_add_equal
  • add(2, 2)5を返さないことをassertNotEqualで確認します。メソッド名: test_add_not_equal
  • is_even(4)Trueを返すことをassertTrueで確認します。メソッド名: test_is_even_true
  • is_even(5)Falseを返すことをassertFalseで確認します。メソッド名: test_is_even_false
  • get_item([10, 20, 30], 1)の結果が20と同じオブジェクトであることをassertIsで確認します。メソッド名: test_get_item_is
  • get_item([1, 2, 3], 10)Noneを返すことをassertIsNoneで確認します。メソッド名: test_get_item_is_none
  • 2がリスト[1, 2, 3]に含まれていることをassertInで確認します。メソッド名: test_in_list
  • add(1, 2)の結果がintのインスタンスであることをassertIsInstanceで確認します。メソッド名: test_add_is_instance

各チェックごとに1つのテストメソッドを書き、指定されたメソッド名のみを使用してください。各テストメソッドでは1つのassertメソッドのみを使用してください。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 5.  2
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt