Python 模擬試験

Python実践 模擬試験 第5回 問35・16章 テスト(unittest)

テスト結果の件数

次のコードを実行したときの出力として、正しいものを1つ選べ。

import unittest, io
class T(unittest.TestCase):
    def test_a(self):
        self.assertCountEqual([1, 2, 2], [2, 1, 2])
    def test_b(self):
        self.assertListEqual([1, 2], [2, 1])
r = unittest.TextTestRunner(stream=io.StringIO()).run(unittest.defaultTestLoader.loadTestsFromTestCase(T))
print(r.testsRun, len(r.failures))
  1. A

    2 0

  2. B

    2 2

  3. C

    2 1

  4. D

    1 1

正解と解説を見る

正解:C

assertCountEqual は順序を無視して、要素の個数が同じかを調べる。assertListEqual・assertEqual は順序も比べる。

順実行する行実行後の変数
1`import unittest, io`—
2`class T(unittest.TestCase):`—
3└ `def test_a(self):`—
4└ `def test_b(self):`—
5`r = unittest.TextTestRunner(stream=io.StringI…`—
6└ `self.assertCountEqual([1, 2, 2], [2, 1, 2])`—
7└ `self.assertListEqual([1, 2], [2, 1])`—
8`print(r.testsRun, len(r.failures))`—
結果実際の出力2 1

学習のポイント:アサーションのメソッドを、目的に合わせて選ぶ。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。