セクション 5. 章 2
single
Unittestにおけるアサートメソッドの使用:テスト結果の検証
メニューを表示するにはスワイプしてください
assert メソッドは unittest.TestCase クラスの一部であり、テスト内の条件を検証するために使用されます。
簡単に言えば、Test クラス内の各テストメソッドは self.assert のような文で終了します。
よく使われる assert メソッド
| Method | Check | Example |
|---|---|---|
| assertEqual(a, b) | a == b | assertEqual(sum([1, 2, 3]), 6) |
| assertNotEqual(a, b) | a != b | assertNotEqual(1, 2) |
| assertTrue(x) | bool(x) is True | assertTrue(isinstance(123, int)) |
| assertFalse(x) | bool(x) is False | assertFalse(isinstance("hello", int)) |
| assertIs(a, b) | a is b | a = 1, b = a |
| assertIsNone(x) | x is None | book.price = None |
| assertIn(a, b) | a in b | assertIn(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_equaladd(2, 2)が5を返さないことをassertNotEqualで確認します。メソッド名:test_add_not_equalis_even(4)がTrueを返すことをassertTrueで確認します。メソッド名:test_is_even_trueis_even(5)がFalseを返すことをassertFalseで確認します。メソッド名:test_is_even_falseget_item([10, 20, 30], 1)の結果が20と同じオブジェクトであることをassertIsで確認します。メソッド名:test_get_item_isget_item([1, 2, 3], 10)がNoneを返すことをassertIsNoneで確認します。メソッド名:test_get_item_is_none2がリスト[1, 2, 3]に含まれていることをassertInで確認します。メソッド名:test_in_listadd(1, 2)の結果がintのインスタンスであることをassertIsInstanceで確認します。メソッド名:test_add_is_instance
各チェックごとに1つのテストメソッドを書き、指定されたメソッド名のみを使用してください。各テストメソッドでは1つのassertメソッドのみを使用してください。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 5. 章 2
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください