antonybudianto / angular-starter

:star: Gulp Angular Starter using TypeScript (Updated to 4.4.3)
https://antonybudianto.github.io/angular-starter/
MIT License
521 stars 147 forks source link

test pass with Chrome but not with Phantomjs #174

Closed ovione closed 8 years ago

ovione commented 8 years ago

Issue Overview

test pass with Chrome but not with Phantomjs

Issue Description

test pass with Chrome but some of them does not pass with Phantomjs I tried to include phantomjs-polyfill but that doesn't do the trick. My app is quite big and at some point I switched to Chrome but now when I want to use it with jenkings I need phantomjs and some tests don't pass anymore. Any help would be welcome.

thanks

Information

The version of the 'angular2-starter' I use is '1.0.0-rc.7'.

antonybudianto7 commented 8 years ago

Can you try on latest snapshot of the starter? Also please explain what error occurred

ovione commented 8 years ago

yes I could try the latest starter. That would be better. The errors are two. In the tests the errors are: 1.the ngOnInit of a component was not called when navigated to it and

  1. a method was not called in our component when a button was clicked. Maybe phantomjs needs some type of pollyfill but I dont know.

I know this is quite vague, but because the project is quite large we should decide maybe now if we continue with systemjs.

The angular2 guys are building a tool called angular-cli still in beta and that they dropped Systemjs in favor of webpack. So maybe we should go towards a solution that uses webpack.

But I don't know if I should use angular-cli or your angular-webpack-starter. I'm reading now about webpack to be more informed. If you have any suggestions they are more than welcome.

thanks

antonybudianto7 commented 8 years ago

Yeah, from what I experienced, SystemJS is a bit of pain: Adding new package even needs to be configured (can be tackled using JSPM, but yet, another package manager), not stable enough, still slow even it's a loader not bundler. After moving to Webpack, life is easier, haha, many amazing features can be added like AoT, Lazy load, tree-shaking out-of-the-box and more. I recommend you to learn it :+1:

As for method not called during test, maybe you need to do fixture.detectChanges() to trigger it. You can post it to https://stackoverflow.com for better assistance. FYI I may not maintain this repo anymore and recommend angular-webpack-starter

ovione commented 8 years ago

thanks for your advice Antony.

I will switch to your angular-webpack-starter. But first I have to read about webpack and I let you know when my migration happens with your latest version if any errors appear.

By the way do you recommend angular-webpack-starter or angular-cli. Are both doing the same or are they complementary ?

cheers O

antonybudianto7 commented 8 years ago

Actually I tried angular-cli first, but feel stuck at some point where I needed some features that's not available, and the webpack config is blackboxed and currently there's no way to override them/customize it.

If you just need normal dev workflow (serve dev, unit testing + coverage, e2e testing, prod build), you can go with angular-cli, with note:

I think you need to wait for their first RC0 release for more stability. You can join https://gitter.im/angular/angular-cli to see how the users use it and their problems too.

also this comment might convince you too

I'd try to make my webpack-starter more easy to migrate each other. (normally copying src, e2e, and dependencies is enough)