[wingide-users] unittest: Any experiences of unit testing under WingIDEStephan R.A. Deibel firstname.lastname@example.org
Tue, 25 Sep 2001 10:49:20 -0400 (EDT)
Hi, On Tue, 25 Sep 2001, F. GEIGER wrote: > I wanted to play around with unittest. I wanted to do that within WingIDE of > course but had to see, that the test cases are not executed in this case: > "Ran 0 tests in 0.000s". If I run the script of question from the console it > tells me "Ran 1 test in...". So what's the difference? Can I configure > WingIDE somehow to "cooperate" with unittest? The problem is that __main__ is not really the same when you run within the Wing debugger, because the wrapper call wingdb.py is __main__. We try to hide this from the debug process but you've uncovered a bug in Wing 1.1b7-2 and earlier where our import hook is not returning the faked __main__ upon __import__('__main__') (which is what unittest.py is doing). There are two ways to work around this for now: 1) Write a small substitute main entry point for your test instead of using the "if __name__ == '__main__'" clause. So in a seperate file you would have: import unittest unittest.main('mytestclasses') or: import unittest import mytestclasses unittest.main(mytestclasses) In this case you are explicitely giving the test modules so you don't run into the __main__ problem. 2) Use wingdbstub and launch the process from the command line. In this case __main__ is correct because there is no difference in what you're launching from the non-debug case. The __import__('__main__') bug should be fixed in the next release. Thanks for reporting this! - Stephan
Run by Mailman v 2.0.8
Copyright (c) 2000-2002, Archaeopteryx Software, Inc.