Unable to run unittest's main function in ipython/jupyter notebook

前端 未结 3 1638
终归单人心
终归单人心 2021-02-02 16:17

I am giving an example which throws an error in ipython/jupyter notebook, but runs fine as an individual script.

import unittest

class Samples(unittest.TestCase         


        
3条回答
  •  别跟我提以往
    2021-02-02 16:55

    unittest.main looks at sys.argv by default, which is what started IPython, hence the error about the kernel connection file not being a valid attribute. You can pass an explicit list to main to avoid looking up sys.argv.

    In the notebook, you will also want to include exit=False to prevent unittest.main from trying to shutdown the kernel process:

    unittest.main(argv=['first-arg-is-ignored'], exit=False)
    

    You can pass further arguments in the argv list, e.g.

    unittest.main(argv=['ignored', '-v'], exit=False)
    

提交回复
热议问题