如果python测试全部通过,则获取staus

如果python测试全部通过,则获取staus,python,ruby,unit-testing,Python,Ruby,Unit Testing,我试图编写一个Ruby脚本来执行目录中的所有Python测试。 以下是脚本的主要部分: system("python #{solution}/tests.py") 有没有一种方法可以理解测试是否已经通过,并且只显示失败的测试(或其他任何测试)的输出?我只想知道每个测试是否通过。(如果Ruby无法实现,我也愿意使用Python解决方案) 所有测试都像这样: import unittest from solution import my_function class MyFunctionTest

我试图编写一个Ruby脚本来执行目录中的所有Python测试。 以下是脚本的主要部分:

system("python #{solution}/tests.py")
有没有一种方法可以理解测试是否已经通过,并且只显示失败的测试(或其他任何测试)的输出?我只想知道每个测试是否通过。(如果Ruby无法实现,我也愿意使用Python解决方案)

所有测试都像这样:

import unittest
from solution import my_function

class MyFunctionTest(unittest.TestCase):
    def test_my_function(self):
        self.assertEqual(42, my_function(42))

if __name__ == '__main__':
    unittest.main()

非常感谢!:)

您可以使用
nosetests
打印失败测试的输出,这将运行所有测试并压缩通过的测试:

$ nosetests
.............
----------------------------------------------------------------------
Ran 13 tests in 0.015s

OK
添加失败的测试:

$ nosetests
F.............
======================================================================
FAIL: test_failed (x32.tests.failing_test.FailingTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/leigh/Projects/x32/x32/tests/failing_test.py", line 5, in test_failed
    self.assertEqual(1, 2)
AssertionError: 1 != 2

----------------------------------------------------------------------
Ran 14 tests in 0.013s

FAILED (failures=1)
这里还有一个关于
nose
的指南:


或者,您可以转到父目录并运行类似于
python-m pytest的程序。
来执行测试,但是这会告诉您哪些测试也通过。

您只是想运行目录中的所有测试,看看它们是否通过或失败?嗯,是的,也可以,但主要目标是只为失败的打印输出。:)