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

Upayavira updated SOLR-8473:
----------------------------
    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 unit 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.

The test framework I am proposing is a Karma/Jasmine combination. Karma runs 
the tests, Jasmine provides a BDD style framework for expressing the tests.

Karma and Jasmine can be installed via npm. This would add npm as a dependency 
for the Lucene/Solr build process, at least at release time.

Karma runs its tests within a browser. I will use, by default, Chrome. This is 
a bigger deal, as it will make our tests dependent upon a UI layer, such as X 
on Unix. 

I have looked into PhantomJS which is essentially the Javascript portion of a 
browser, but without the UI dependency, this would appear a much better 
solution for the headless scenario, however, I have as yet to get it to work 
(on MacOS). My next task would be to try it in a Linux VM.

> Test Framework for Unit Testing Angular UI
> ------------------------------------------
>
>                 Key: SOLR-8473
>                 URL: https://issues.apache.org/jira/browse/SOLR-8473
>             Project: Solr
>          Issue Type: Improvement
>          Components: web gui
>    Affects Versions: 5.4
>            Reporter: Upayavira
>            Assignee: Upayavira
>
> The Solr UI has no tests. This is less than ideal. This ticket is aimed at 
> facilitating discussion around such a test framework for unit 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.
> The test framework I am proposing is a Karma/Jasmine combination. Karma runs 
> the tests, Jasmine provides a BDD style framework for expressing the tests.
> Karma and Jasmine can be installed via npm. This would add npm as a 
> dependency for the Lucene/Solr build process, at least at release time.
> Karma runs its tests within a browser. I will use, by default, Chrome. This 
> is a bigger deal, as it will make our tests dependent upon a UI layer, such 
> as X on Unix. 
> I have looked into PhantomJS which is essentially the Javascript portion of a 
> browser, but without the UI dependency, this would appear a much better 
> solution for the headless scenario, however, I have as yet to get it to work 
> (on MacOS). My next task would be to try it in a Linux VM.



--
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