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())
- A
1 1 True - B
2 0 False - C
2 1 True - 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 |
- A
誤り。
testsRunにはスキップされたテストも含まれる。 - B
誤り。
skipで飛ばされ、失敗にならない。 - C
正しい。スキップされたテストも実行対象の数に数えられるが、失敗にはならない。
- D
誤り。スキップは失敗ではない。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。