Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Fix broken GitHub link

Table of Contents

Table of Contents

Testing

General Testing configurations: https://github.com/edx/edx-platform/blob/master/docs/en_usguides/internaltesting/testing.rst

We start by creating a base configuration which corresponds for the edX common unit tests.  Most other test configurations will be copied and adapted from the base configuration.

...

Setting up Bokchoy Test Configuration for catching break points

See also Working with Vagrant devstack and PyCharm, where there are screenshots of example configurations.

...

1. In Preferences/ Project Structure mark ./common/djangoapps/terrain/stubs as a source.

  • Make sure that IntegrateXQuartzintoPyCharmIntegrate XQuartz into PyCharm is working and to remember the DISPLAY variable. (in the terminal you can do echo $DISPLAY and make sure that is non-null)
    • You must start a new SSH session and verify the DISPLAY every time.
  • Configure and start Bokchoy cms server
    • Go to Run -> Edit Configurations.
    • Clone the earlier Studio or LMS server configuration.
    • Change the name to something more memorable, e.g. "CMS Bokchoy server".
    • Script: ./manage.py.
    • Script parameters: cms --settings bok_choy runserver 0.0.0.0:8031 --traceback --noreload (if you have already compiled the assets).
  • Configure and start Bokchoy lms server
    • Clone the previous setting
    • Change the name to something more memorable, e.g. "LMS Bokchoy server".
    • Script: ./manage.py.
    • Script parameters: lms --settings bok_choy runserver 0.0.0.0:8003 --traceback --noreload (if you have already compiled the assets).
  • Configure and debug Bokchoy test run
    • Clone the previous setting
    • Change the name to something more memorable, e.g. "Bokchoy test".
    • Script: /edx/app/edxapp/venvs/edxapp/bin/nosetests.
    • Script parameters: /edx/app/edxapp/edx-platform/common/test/acceptance/tests/discussion/test_cohort_management.py:CohortConfigurationTest --with-xunit --xunit-file=/edx/app/edxapp/edx-platform/reports/bok_choy/xunit.xml --verbosity=2
    • Click to edit the "Environment variables" property
    • Set the DISPLAY variable to whatever value you obtained when setting up XQuartz (see instructions) i.e. DISPLAY=localhost:11.0
  • You might have to log out/ log in to the terminal you opened in the first step if Pycharm can't find your display

Troubleshooting

Error: The browser appears to have exited before we could connect.

If you see this the following error, either you :

  • You have not successfully set up XQuartz

...

  • You haven't used the correct DISPLAY in your Run Configuration in PyCharm

...

  • , or
  • You have closed the SSH session required to run the tests.  

See Integrating XQuartz into PyCharm to review instructions on any of the above.

NOTE: You might have may need to log out / and log in to the terminal you opened in the XQuartz integration step a second time if Pycharm PyCharm can't find your display.

No Format
BrokenPromise: Promise not satisfied: Browser is instantiated successfully.
-------------------- >> begin captured logging << --------------------
bok_choy.browser: INFO: Using local browser: firefox [Default is firefox]
bok_choy.browser: INFO: Using default firefox profile
bok_choy.browser: DEBUG: Failed to instantiate browser: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.

...