如何使用" nosetests保存日志信息--with-xunit"?

时间:2015-08-20 09:41:03

标签: python logging python-unittest

这是我的简单测试用例:

import unittest
import logging

class TestAdd(unittest.TestCase):

    def setUp(self):
        logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', datefmt='%Y-%m-%d %I:%M:%S',
                            level=logging.INFO)

    def test_add(self):
        logging.info("Begin testing")
        self.assertEqual(1+1, 2, 'Failed to verify the add function.')
        logging.info("End testing")

如果我使用以下cmd运行测试,那么我可以获取日志信息。

    # nosetests test_add.py --nologcapture 
    2015-08-20 05:34:09 INFO Begin testing
    2015-08-20 05:34:09 INFO End testing

    .
    ----------------------------------------------------------------------
    Ran 1 test in 0.001s

    OK

但我真的想使用将这些信息保存到.xml文件中,因此我使用# nosetests test_add.py --with-xunit生成名为nosetests.xml的文件。该文件只告诉我,我通过测试,没有其他信息。如何将这些日志记录信息写入nosetests.xml

1 个答案:

答案 0 :(得分:0)

尝试

$ nosetests --verbosity=3 -x --with-xunit

也可以使用nose.tools集合而不是'import unittest'。 基本测试套件可能类似于:

import code  
import operator

m = code.Math()

def test_sum():  
    """Check is sum method is equivalent to operator"""
    eq_(m.sum(1, 1), operator.add(1, 1))

这是一篇好文章 http://www.metaklass.org/nose-making-your-python-tests-smell-better/