Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

Add functional tests #28

Open
lavelle opened this issue Aug 21, 2014 · 2 comments
Open

Add functional tests #28

lavelle opened this issue Aug 21, 2014 · 2 comments
Labels

Comments

@lavelle
Copy link
Contributor

lavelle commented Aug 21, 2014

We currently have a pretty good unit test suite for the two providers, that tests each of the FSP events as well as the wrapper classes and utility functions. However, now that a UI is being added, it would be good to have some tests to verify the overall behaviour of the system.

For regular webapps there are tools like Selenium Webdriver, but I've never used anything like that I don't whether it would work with a Chrome packaged app. We need an environment with the chrome.* APIs for testing (unless we mocked them in the browser?)

Options that won't work

  • Zombie: uses JSDOM which doesn't have the features Polymer needs
  • Casper: uses Phantom which doesn't have the features Polymer needs
  • Selenium WebDriver: Introduces Java dependency
  • Dalek: can drive Chrome, but is in developer preview and therefore not suitable for a production app

Still to try

  • The Intern
  • Sauce Labs
@jmuk
Copy link
Contributor

jmuk commented Aug 21, 2014

I have little ideas here. For now UI is simple enough to be tested through unit tests, Selenium is an overkill.

@lavelle
Copy link
Contributor Author

lavelle commented Aug 21, 2014

CasperJS looks like a good choice. It runs in PhantomJS, which we already use, and has a Grunt plugin. It's also pure JS, so there's no Java dependency like Selenium.

Admittedly, this might be a bit premature given how simple the UI is right now, but might be worth considering further down the road.

@lavelle lavelle changed the title Add integration tests Add functional tests Aug 26, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants