Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
5.4
-
None
-
None
Description
The Solr UI has no tests. This is less than ideal. This ticket is aimed at facilitating discussion around such a test framework for functional/end-to-end testing components within the Angular UI.
Having a unit testing framework will encourage developers of the UI to make more modular, and thus hopefully cleaner, code, as well as providing a means to identify regressions.
For functional testing, I am proposing a Karma/Protractor/Jasmine combination.
Karma runs the tests, as with the Unit testing framework, Protractor interacts with the pages effectively via a programmable browser (click here, enter there, confirm that) whilst Jasmine provides a BDD style syntax for constructing the tests themselves.
My proposal is that, for functional tests, we will fire up a full Solr server via the existing test framework, then invoke Karma/Protractor within that context. That will mean that the functional tests will be interacting with a real Solr instance, presumably with real data in it.
Karma/Protractor/Jasmine can be installed by npm, which would become a dependency for the Lucene/Solr build process, as for SOLR-8473.
As with SOLR-8473, there will be a dependency on either Chrome (and a UI such as X) or a UI-less browser such as PhantomJS.