[ 
https://issues.apache.org/jira/browse/SOLR-8474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Upayavira updated SOLR-8474:
----------------------------
    Attachment: SOLR-8474.zip

Attaching first pass at test frameworks for Admin UI. This patch includes both 
unit test and functional test code, with a sample test for each.

Unpack this zip into the /solr dir, so that the files end up in /solr/webapp/.

The tests make use of npm to execute. Make sure that you have the latest NodeJS 
installed (from the node website, not from brew or apt), then:

 * for unit tests: npm test
 * for functional tests: npm run protractor

This will create an instance of Chrome within which to execute the tests.

Note that the functional tests assume a core/collection called "index" which 
has a field type of 'text_en'.

> Test Framework for functional testing Angular UI
> ------------------------------------------------
>
>                 Key: SOLR-8474
>                 URL: https://issues.apache.org/jira/browse/SOLR-8474
>             Project: Solr
>          Issue Type: Improvement
>          Components: web gui
>    Affects Versions: 5.4
>            Reporter: Upayavira
>            Assignee: Upayavira
>         Attachments: SOLR-8474.zip
>
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to