如何删除跳过测试的详细输出?
How to remove verbose output for skipped tests?
背景:
我有一堆测试(20+),我无法在我的工作机器上执行,因为它们需要一个工作的 CUDA 环境。
所以为了避免错误,我通过 unittest.skipIf
.
使它们成为有条件的
抽象掉细节,我的测试模块如下所示:
@unittest.skipIf(os.environ.get('TEST_FANCY') != 'yes', "For fancy tests, set TEST_FANCY='yes'")
class FancyTests(unittest.TestCase):
def test_a(self):
self.assertEqual(1+1, 2)
def test_b(self):
self.assertEqual(1+2, 3)
现在,当我 运行 green
的测试时,每个跳过的测试都会以冗长的方式报告,极大地污染了输出,例如:
..ss.
Skipped test.test_fancy.FancyTests.test_a - For fancy tests, set TEST_FANCY='yes'
Skipped test.test_fancy.FancyTests.test_b - For fancy tests, set TEST_FANCY='yes'
Ran 5 tests in 0.355s using 4 processes
OK (passes=3, skips=2)
我希望输出只是总结结果,类似于标准单元测试 运行ner 默认情况下所做的,即:
..ss.
Ran 5 tests in 0.355s using 4 processes
OK (passes=3, skips=2)
虽然 green
默认报告个别跳过的测试,但它允许通过 -k
抑制这些测试。来自 docs:
-k, --no-skip-report Don't print the report of skipped tests after testing
is done. Skips will still show up in the progress
report and summary count.
背景:
我有一堆测试(20+),我无法在我的工作机器上执行,因为它们需要一个工作的 CUDA 环境。
所以为了避免错误,我通过 unittest.skipIf
.
抽象掉细节,我的测试模块如下所示:
@unittest.skipIf(os.environ.get('TEST_FANCY') != 'yes', "For fancy tests, set TEST_FANCY='yes'")
class FancyTests(unittest.TestCase):
def test_a(self):
self.assertEqual(1+1, 2)
def test_b(self):
self.assertEqual(1+2, 3)
现在,当我 运行 green
的测试时,每个跳过的测试都会以冗长的方式报告,极大地污染了输出,例如:
..ss.
Skipped test.test_fancy.FancyTests.test_a - For fancy tests, set TEST_FANCY='yes'
Skipped test.test_fancy.FancyTests.test_b - For fancy tests, set TEST_FANCY='yes'
Ran 5 tests in 0.355s using 4 processes
OK (passes=3, skips=2)
我希望输出只是总结结果,类似于标准单元测试 运行ner 默认情况下所做的,即:
..ss.
Ran 5 tests in 0.355s using 4 processes
OK (passes=3, skips=2)
虽然 green
默认报告个别跳过的测试,但它允许通过 -k
抑制这些测试。来自 docs:
-k, --no-skip-report Don't print the report of skipped tests after testing
is done. Skips will still show up in the progress
report and summary count.