In order to give at least the appearance of test-driven development, we should port the existing node_access_example D7 SimpleTest tests to D8.
These tests should be ported as directly as possible, without changing them.
Note that these tests will fail. :-) The point of this exercise is to write tests that fail.
This issue will be marked fixed when they run without fatal code errors.
In order to build the tests, you will also need to generate the file structure of the module.
One thing to keep in mind is that SimpleTest shows you a stack trace for fails, as if they were errors. This is the most annoying part of porting tests; they look like they're broken when they're really not.
Steps to take:
- Assign the issue to yourself.
- Generate a module skeleton.
- Convert tests.
- Run tests.
- More conversion if necessary.
- Submit a patch.
Resources:
A tool to generate a module skeleton: https://drupal.org/sandbox/mile23/2230027
Test conversion notes: https://drupal.org/node/2166895
How to run tests:
- In Drupal: https://drupal.org/documentation/modules/simpletest
- From the command line: https://drupal.org/node/645286
| Comment | File | Size | Author |
|---|---|---|---|
| #4 | port-d7-tests-to-d8-node-access-example-2277669-4.patch | 16.56 KB | colorfield |
Comments
Comment #1
colorfieldComment #2
colorfieldLooks like the tool mentioned to generate the skeleton provides a lib/Drupal/node_access_example/Tests path for SimpleTest and a tests/Drupal/node_access_example/Tests path for PHPUnit. Let's scaffold using drupal console, that generates a more recent path (src/Tests).
At this point, is it useful to provide a PHPUnit test as well?
Comment #3
colorfieldassigned ddd tag
Comment #4
colorfieldHere is a first port. Some changes that prevented fatal errors on testNodeAccessBasic :
Comment #6
mile23Generally unassigning issues. Please re-assign yourself as desired.
Comment #7
mile23Thanks, @colorfield.
Work on the port continues at #2102667: Port node_access_example module to Drupal 11.4