I am practicing the unittest for python and it always directed to a JSON file:
import unittest
from name_function import get_formatted_name
class NamesTestCase(unittest.TestCase):
def test_first_last_name(self):
formatted_name=get_formatted_name("allen","park")
self.assertEqual(formatted_name,"Allen Park")
unittest.main()
/Users/xxx/Library/Jupyter/runtime/kernel-0eacd257-bf93-4c0f-843c-2e8a96377a17
(unittest.loader._FailedTest)
AttributeError: module '__main__' has no attribute
'/Users/xxx/Library/Jupyter/runtime/kernel-0eacd257-bf93-4c0f-843c-2e8a96377a17'
The traceback is:
SystemExit Traceback (most recent call last)
<ipython-input-1-15fe4fc5728d> in <module>()
20 self.assertIn(response,my_survey.responses)
21
---> 22 unittest.main()
/anaconda3/lib/python3.6/unittest/main.py in __init__(self, module, defaultTest, argv, testRunner, testLoader, exit, verbosity, failfast, catchbreak, buffer, warnings, tb_locals)
93 self.progName = os.path.basename(argv[0])
94 self.parseArgs(argv)
---> 95 self.runTests()
96
97 def usageExit(self, msg=None):
/anaconda3/lib/python3.6/unittest/main.py in runTests(self)
256 self.result = testRunner.run(self.test)
257 if self.exit:
--> 258 sys.exit(not self.result.wasSuccessful())
259
260 main = TestProgram
SystemExit: True
How do I fix this?
Have a look at "https://medium.com/@vladbezden/using-python-unittest-in-ipython-or-jupyter-732448724e31"
if __name__ == '__main__':
unittest.main(argv=['first-arg-is-ignored'], exit=False)
using following:
if __name__ == "__main__":
unittest.main()
It worked, but was failing before due to a mirror typo. I replaced:
self.asertEqual
with:
self.assertEqual
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With