Hi Harbs,

Fully agree what you are saying! Sometimes I have found myself difficult
without deeper knowledge how something is working when I check the code.
One thing which I can mention is that we already have Selenium integrated.
If you are going to spend some time on that I would start from the point
[1] and see whether we can use it.

As for your coming to US - Wish I could be there!

[1]
https://github.com/apache/royale-asjs/tree/develop/examples/examples-integrationtests

Piotr


2017-11-03 12:19 GMT+01:00 Harbs <harbs.li...@gmail.com>:

> One topic which keeps coming up is better test coverage for Royale.
>
> I think this is becoming a critical issue for a few reasons:
> 1. As we get close to version 1.0 it’s necessary to have good test
> coverage for confidence of quality and confidence that we don’t introduce
> recessive bugs.
> 2. It’s really hard to accept Github pull requests without examining the
> code VERY well that it does not introduce recessive bugs. CI which runs
> automated tests could give a preliminary test on pull requests to ensure
> that they don’t break anything. If the pull requests do break something, it
> allows the requester to fix the problem with confidence without taking
> others’ time.
>
> I think we need to break up testing into pieces and figure out a strategy
> to implement automated tests in a way that they are maintainable.
>
> Some points:
> 1. I think integration into something like Travis would be very helpful.
> 2. I think there’s a Jenkins plugin for building pull requests. Not sure
> how useful it is.[1]
> 3. Josh has created a Node.js-compatible test-runner architecture which
> could be useful for unit tests on parts of the framework which don’t rely
> on browser features. (i.e. models and the like) He mentioned the
> possibility of donating it, and I think that would be a very useful feature.
> 4. For UI and integration tests, there seem to be some pretty cool
> integrations using Selenium.[2][3]
> 5. I think the main testing effort needs to be using JS and something like
> Josh’s testing framework for non-UI pieces and some easy-to-use Selenium
> integration for visual pieces and integration tests.
> 6. We probably also want some API endpoints we can test off of for
> integration testing.
>
> I’m willing to invest time into this.
>
> It’s going to be a lot of work building out the tests and I think we need
> a plan for that. My thoughts:
>
> 1. Step one is to make it easy to write meaningful automated tests and
> establish a clear pattern.
> 2. Step two is to start writing tests starting from the most-used/easiest
> to beak pieces and work out from there.
> 3. Once the pattern is established, any new pieces MUST have testing
> coverage.
> 4. When fixing bugs, attention should be paid to adding testing for that
> component.
> 5. When a pull request comes in on a piece which does not have unit test,
> a test must be written before accepting the pull request. The test does not
> need to be written by the requester. Before examining the request, the test
> should be written to pass for expected behavior and fail for the bug that
> the pull request is attempting to fix (assuming the pull request is to fix
> a bug).
>
> Thoughts?
> Harbs
>
> P.S. I’m thinking of coming to the US in late December/early January. I
> would be interested in getting together for a hacking session with folks
> who are available.
>
> [1]https://wiki.jenkins.io/display/JENKINS/GitHub+pull+
> request+builder+plugin <https://wiki.jenkins.io/
> display/JENKINS/GitHub+pull+request+builder+plugin>
> [2]https://docs.travis-ci.com/user/gui-and-headless-browsers/ <
> https://docs.travis-ci.com/user/gui-and-headless-browsers/>
> [3]https://saucelabs.com/products/integrations <https://saucelabs.com/
> products/integrations>




-- 

Piotr Zarzycki

mobile: +48 880 859 557
skype: zarzycki10

LinkedIn: http://www.linkedin.com/piotrzarzycki
<https://pl.linkedin.com/in/piotr-zarzycki-92a53552>

GitHub: https://github.com/piotrzarzycki21

Reply via email to