google / ioweb2016

I/O web app 2016
https://events.google.com/io2016
Apache License 2.0
517 stars 87 forks source link

wct fails locally on router suite #1021

Closed dman777 closed 7 years ago

dman777 commented 7 years ago

I cloned this to learn more about Polymer testing, but it is failing with below. Any ideas why it is failing? This is all on a local Linux machine....no cloud. I use Chrome 53, not chromium.

four@localhost ~/github/ioweb2016 $ wct
Installing and starting Selenium server for local browsers
Selenium server running on port 48365
Web server running on port 2000 and serving from /home/four/github/ioweb2016
chrome 53                Beginning tests via http://localhost:2000/components/ioweb2016/generated-index.html?cli_browser_id=0
chrome 53                â app/scripts/helper/router_test.html » IOWA.Router_ » navigate runs page transition

  Cannot set property 'selectedPage' of undefined
    <unknown> at       Router.navigate at router.js:268:0
    <unknown> at   Context.<anonymous> at router_test.html:78:0

chrome 53                â app/scripts/helper/router_test.html » IOWA.Router_ » navigate updates router state

  Cannot set property 'selectedPage' of undefined
    <unknown> at       Router.navigate at router.js:268:0
    <unknown> at   Context.<anonymous> at router_test.html:107:0

chrome 53                â app/scripts/helper/router_test.html » IOWA.Router_ » runSubpageTransition

  Cannot read property 'selectedPage' of undefined
    <unknown> at                     <unknown> at router.js:229:0
    <unknown> at                   Object.then at router_test.html:131:0
    <unknown> at   Router.runSubpageTransition at router.js:223:0
    <unknown> at               Router.navigate at router.js:271:0
    <unknown> at           Context.<anonymous> at router_test.html:145:0

chrome 53 (5/0/3)                     

pic1

Note: I am not running the back end. But that shouldn't matter, correct? There should be mock data making the test suite independent?

ebidel commented 7 years ago

We didn't use wct test this year. That's left over from https://github.com/GoogleChrome/ioweb2015

dman777 commented 7 years ago

Oh, ok.... thanks! Did you replace wct with some other testing? Or did you decide to skip testing entirely for 2016?

ebidel commented 7 years ago

We had backend tests but not frontend tests.

dman777 commented 7 years ago

If I may ask, please, for my own learning. Since testing theories are constantly evolving:

What was the deciding factor in not testing the front end? Was it because ioweb 2016 is composed of pre-written Polymer elements that have already been tested? But that would leave the custom elements instance methods untested. For E2E, I guess you could say that the router suite wct covered most of that?

ebidel commented 7 years ago

Mainly because of time :)

The project is composed of a few 20% engineers that help out over the course of a few months. The site also goes through 5-6 phases (launches) that alter it quite a big during that time. It's a challenge to dev + write new tests + iterate for all those different short-lived pieces. The engineers are also working on session content, codelabs and other stuff for Google I/O in addition to working on the site.

dman777 commented 7 years ago

:+1: This is valuable information, thank you so much!