Python 模擬試験

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

skip

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

import unittest, io
class T(unittest.TestCase):
    @unittest.skip("x")
    def test_a(self):
        self.fail()
    def test_b(self):
        pass
r = unittest.TextTestRunner(stream=io.StringIO()).run(unittest.defaultTestLoader.loadTestsFromTestCase(T))
print(r.testsRun, len(r.skipped), r.wasSuccessful())
  1. A

    1 1 True

  2. B

    2 0 False

  3. C

    2 1 True

  4. D

    2 1 False

正解と解説を見る

正解:C

@unittest.skip(理由) はテストを飛ばす。skipIf・skipUnless で条件付きにでき、expectedFailure で、失敗が期待されるテストを示せる。

順実行する行実行後の変数
1`import unittest, io`—
2`class T(unittest.TestCase):`—
3└ `def test_a(self):`—
4└ `@unittest.skip("x")`—
5└ `def test_a(self):`—
6└ `@unittest.skip("x")`—
7└ `def test_a(self):`—
8└ `def test_b(self):`—
9`r = unittest.TextTestRunner(stream=io.StringI…`—
10└ `pass`—
11`print(r.testsRun, len(r.skipped), r.wasSucces…`—
結果実際の出力2 1 True

学習のポイント:スキップは、環境に依存するテストに使う。

この問題を演習で解く →

問題一覧へ

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