Awesome!

I assume that this means I can code the code to the Royale repo under Apache 2. 
Right?

Harbs

> On Nov 3, 2017, at 5:37 PM, Josh Tynjala <joshtynj...@apache.org> wrote:
> 
> Please feel free to use my test runner. I'm happy to commit it somewhere to 
> make it official Apache code, if necessary.
> 
> - Josh
> 
> On 2017-11-03 04:19, Harbs <harbs.li...@gmail.com> wrote: 
>> 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>

Reply via email to