beeware / cricket

A GUI tool for running Python test suites.
BSD 3-Clause "New" or "Revised" License
213 stars 68 forks source link

Add ability to reload test suite without restarting cricket #54

Open avolkov opened 7 years ago

avolkov commented 7 years ago

I've been using cricket-unittest with pyramid for some time. It's a great piece of software, but I've noticed it's missing a feature that would greatly improve it's usability.

When adding/removing test cases cricket needs to be restarted in order to reload all the tests. It would be much more convenient if there would be a button somewhere in cricket window that would reload all tests.

freakboy3742 commented 7 years ago

Completely agreed. Cricket will pick up new tests if you "run all"; but obviously that doesn't help you find just one new test.

UI changes to cricket have been on hold while Toga is being developed; however, Toga is now getting sufficiently mature that revisiting Cricket may be an option.

avolkov commented 7 years ago

Oh, it's totally fine if Cricket finds new test when 'Run all' is pressed, however if any of the tests are modify or deleted and then test suite is re-run with 'Run all' -- Cricket loads new tests, but the old ones still stick around.

Here I'm running Pyramid (1.7-branch) tests cases with Python 2.7.

I ran test suite with 'Run all', then under test_authentication.TestAuthTicket, renamed test_cookie_value to test_cookie_value_new, and I re-run test suite with 'Run all' now instead of only test_cooke_value_new showing up, both of the test cases appear.

cricket_rename

If I select the non-existing test case 'test_cookie_value' and run it with 'Run selected' the cricket gives an error -- that the test doesn't exist, which is correct, but cricket shouldn't display non-existing tests in the first place.

cricket_not_existing_test