Sometimes unit testing is a lot of work, especially if you have a system that has had many months of development without it.
One very valuable test is to check there are no errors in the Drupal log after you've committed new code.
First I clear the Drupal error log when Jenkins runs an update from version control using Drush:
cd /var/lib/jenkins/jobs/mysite
drush --uri=http://test.mysite.com watchdog delete all
Then when I run the Selenium tests I load all the major pages of the site and do some other clicking around. Finally I visit the dblog report and check there are no errors (The source code of the table below can be put directly into your Selenium test script, just omit the <table> tags, but this assumes you're using html based test suites):
open | /admin/reports/dblog | |
click | link=Filter log messages | |
addSelection | id=edit-severity | label=emergency |
addSelection | id=edit-severity | label=alert |
addSelection | id=edit-severity | label=critical |
addSelection | id=edit-severity | label=error |
addSelection | id=edit-severity | label=warning |
addSelection | id=edit-severity | label=debug |
clickAndWait | id=edit-submit | |
assertTextPresent | No log messages available. |
<tr>
<td>open</td>
<td>/admin/reports/dblog</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>link=Filter log messages</td>
<td></td>
</tr>
<tr>
<td>addSelection</td>
<td>id=edit-severity</td>
<td>label=emergency</td>
</tr>
<tr>
<td>addSelection</td>
<td>id=edit-severity</td>
<td>label=alert</td>
</tr>
<tr>
<td>addSelection</td>
<td>id=edit-severity</td>
<td>label=critical</td>
</tr>
<tr>
<td>addSelection</td>
<td>id=edit-severity</td>
<td>label=error</td>
</tr>
<tr>
<td>addSelection</td>
<td>id=edit-severity</td>
<td>label=warning</td>
</tr>
<tr>
<td>addSelection</td>
<td>id=edit-severity</td>
<td>label=debug</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>id=edit-submit</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>No log messages available.</td>
<td></td>
</tr>
Submitted by oliver on Wed, 21/09/2011 - 12:04
Post new comment