Chris@0: Installing gems for testing Chris@0: =========================== Chris@0: Chris@1115: Remove your .bundle/config if you've already installed Redmine without Chris@1115: the test dependencies. Then, run `bundle install`. Chris@0: Chris@0: Running Tests Chris@0: ============= Chris@0: Chris@0: Run `rake --tasks test` to see available tests. Chris@1115: Run `rake test` to run the entire test suite (except the tests for the Chris@1295: Apache perl module Redmine.pm and Capybara tests, see below). Chris@1115: Chris@1115: You can run `ruby test/unit/issue_test.rb` for running a single test case. Chris@0: Chris@909: Before running tests, you need to configure both development Chris@0: and test databases. Chris@0: Chris@0: Creating test repositories Chris@1115: ========================== Chris@0: Chris@0: Redmine supports a wide array of different version control systems. Chris@0: To test the support, a test repository needs to be created for each of those. Chris@0: Chris@0: Run `rake --tasks test:scm:setup` for a list of available test-repositories or Chris@1115: run `rake test:scm:setup:all` to set up all of them. The repositories are Chris@1115: unpacked into {redmine_root}/tmp/test. Chris@1115: Chris@1115: If the test repositories are not present, the tests that need them will be Chris@1115: skipped. Chris@0: Chris@0: Creating a test ldap database Chris@0: ============================= Chris@0: Chris@0: Redmine supports using LDAP for user authentications. To test LDAP Chris@0: with Redmine, load the LDAP export from test/fixtures/ldap/test-ldap.ldif Chris@1115: into a testing LDAP server. Make sure that the LDAP server can be accessed Chris@0: at 127.0.0.1 on port 389. Chris@0: Chris@1115: Setting up the test LDAP server is beyond the scope of this documentation. Chris@0: The OpenLDAP project provides a simple LDAP implementation that should work Chris@0: good as a test server. Chris@1115: Chris@1115: If the LDAP is not available, the tests that need it will be skipped. Chris@1115: Chris@1115: Running Redmine.pm tests Chris@1115: ======================== Chris@1115: Chris@1115: (work in progress) Chris@1115: Chris@1115: Running the tests for the Redmine.pm perl module needs a bit more setup. Chris@1115: You need an Apache server with mod_perl, mod_dav_svn and Redmine.pm configured. Chris@1115: See: http://www.redmine.org/projects/redmine/wiki/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl Chris@1115: Chris@1115: You need an empty repository accessible at http://127.0.0.1/svn/ecookbook Chris@1115: Then, you can run the tests with: Chris@1115: `ruby test\extra\redmine_pm\repository_subversion_test.rb` Chris@1115: Chris@1115: If you svn server is not running on localhost, you can use the REDMINE_TEST_DAV_SERVER Chris@1115: environment variable to specify another host. Chris@1295: Chris@1295: Running Capybara tests Chris@1295: ====================== Chris@1295: Chris@1295: You need to have PhantomJS WebDriver listening on port 4444: Chris@1295: `phantomjs --webdriver 4444` Chris@1295: Chris@1295: Capybara tests can be run with: Chris@1295: `rake test:ui`