Chris@0
|
1 Installing gems for testing
|
Chris@0
|
2 ===========================
|
Chris@0
|
3
|
Chris@1115
|
4 Remove your .bundle/config if you've already installed Redmine without
|
Chris@1115
|
5 the test dependencies. Then, run `bundle install`.
|
Chris@0
|
6
|
Chris@0
|
7 Running Tests
|
Chris@0
|
8 =============
|
Chris@0
|
9
|
Chris@0
|
10 Run `rake --tasks test` to see available tests.
|
Chris@1115
|
11 Run `rake test` to run the entire test suite (except the tests for the
|
Chris@1464
|
12 Apache perl module Redmine.pm and Capybara tests, see below).
|
Chris@1115
|
13
|
Chris@1464
|
14 You can run `ruby test/unit/issue_test.rb` for running a single test case and
|
Chris@1464
|
15 `ruby test/unit/issue_test.rb -n test_create` for running a single test.
|
Chris@0
|
16
|
Chris@909
|
17 Before running tests, you need to configure both development
|
Chris@0
|
18 and test databases.
|
Chris@0
|
19
|
Chris@0
|
20 Creating test repositories
|
Chris@1115
|
21 ==========================
|
Chris@0
|
22
|
Chris@0
|
23 Redmine supports a wide array of different version control systems.
|
Chris@0
|
24 To test the support, a test repository needs to be created for each of those.
|
Chris@0
|
25
|
Chris@0
|
26 Run `rake --tasks test:scm:setup` for a list of available test-repositories or
|
Chris@1115
|
27 run `rake test:scm:setup:all` to set up all of them. The repositories are
|
Chris@1115
|
28 unpacked into {redmine_root}/tmp/test.
|
Chris@1115
|
29
|
Chris@1115
|
30 If the test repositories are not present, the tests that need them will be
|
Chris@1115
|
31 skipped.
|
Chris@0
|
32
|
Chris@0
|
33 Creating a test ldap database
|
Chris@0
|
34 =============================
|
Chris@0
|
35
|
Chris@0
|
36 Redmine supports using LDAP for user authentications. To test LDAP
|
Chris@0
|
37 with Redmine, load the LDAP export from test/fixtures/ldap/test-ldap.ldif
|
Chris@1115
|
38 into a testing LDAP server. Make sure that the LDAP server can be accessed
|
Chris@0
|
39 at 127.0.0.1 on port 389.
|
Chris@0
|
40
|
Chris@1115
|
41 Setting up the test LDAP server is beyond the scope of this documentation.
|
Chris@0
|
42 The OpenLDAP project provides a simple LDAP implementation that should work
|
Chris@0
|
43 good as a test server.
|
Chris@1115
|
44
|
Chris@1115
|
45 If the LDAP is not available, the tests that need it will be skipped.
|
Chris@1115
|
46
|
Chris@1115
|
47 Running Redmine.pm tests
|
Chris@1115
|
48 ========================
|
Chris@1115
|
49
|
Chris@1115
|
50 (work in progress)
|
Chris@1115
|
51
|
Chris@1115
|
52 Running the tests for the Redmine.pm perl module needs a bit more setup.
|
Chris@1115
|
53 You need an Apache server with mod_perl, mod_dav_svn and Redmine.pm configured.
|
Chris@1115
|
54 See: http://www.redmine.org/projects/redmine/wiki/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl
|
Chris@1115
|
55
|
Chris@1115
|
56 You need an empty repository accessible at http://127.0.0.1/svn/ecookbook
|
Chris@1115
|
57 Then, you can run the tests with:
|
Chris@1115
|
58 `ruby test\extra\redmine_pm\repository_subversion_test.rb`
|
Chris@1115
|
59
|
Chris@1115
|
60 If you svn server is not running on localhost, you can use the REDMINE_TEST_DAV_SERVER
|
Chris@1115
|
61 environment variable to specify another host.
|
Chris@1464
|
62
|
Chris@1464
|
63 Running Capybara tests
|
Chris@1464
|
64 ======================
|
Chris@1464
|
65
|
Chris@1464
|
66 You need to have PhantomJS WebDriver listening on port 4444:
|
Chris@1464
|
67 `phantomjs --webdriver 4444`
|
Chris@1464
|
68
|
Chris@1464
|
69 Capybara tests can be run with:
|
Chris@1464
|
70 `rake test:ui`
|