ReactiveX / rxjs

A reactive programming library for JavaScript
https://rxjs.dev
Apache License 2.0
30.78k stars 3k forks source link

Migrate test runner from jasmine to another #1460

Closed kwonoj closed 8 years ago

kwonoj commented 8 years ago

Additional information:

It is known jasmine behaves unexpectedly time to time, test cases are fail without exact reason. As similar to recent failures (https://github.com/ReactiveX/RxJS/pull/1459) just removing test cases into separate file, or modify test execution order makes it passes again. Problem in here is it becomes hard to trust test failures sometimes, cause it's unclear if given assertion failure is due to actual code behavior or simply jasmine's behavior. Maybe it's time to consider to move into different test runner other than jasmine, depends on migration effort.

tetsuharuohzeki commented 8 years ago

How about power-assert or ava? Their failure dump is informative.

kwonoj commented 8 years ago

I'd like to discuss go / no-go first in this discussion. I also have some preferences, but need to be evaluated based on certain requirements such as current toolchain support (coverage, esdocs, etcs) and it can be evaluated once got agreements to go. Though I think it's time to consider, there might be other difficulties I could not think of to block to move on.

david-driscoll commented 8 years ago

I've had good success with Mocha over the year, it has built in support for promises, so for tests I've done in the past, so async tests can sometimes be as easy as...

it('should return 0', () => {
  return Observable.of(1).toPromise().then(result => expect(result).to.be.eql(1));
});
benlesh commented 8 years ago

Given what I saw while working on #1536 ... I find jasmine's fragility to be very disturbing.

benlesh commented 8 years ago

I'm changing this to "high priority" and "PRs welcome" ... but this is NOT at all critical to release, so it's probably not something I'd want anyone tackling in the short term if they're looking to add the most value.

kwonoj commented 8 years ago

I'll try this on my end if this can be done relatively quickly.

kwonoj commented 8 years ago

Closing this via https://github.com/ReactiveX/rxjs/pull/1545. One remaining issue is being tracked separately via https://github.com/ReactiveX/rxjs/issues/1549.

lock[bot] commented 6 years ago

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.