bugsnag / bugsnag-js-performance

Monitor the performance of your JavaScript (web and React Native) and see the results in your BugSnag dashboard.
https://docs.bugsnag.com/performance/integration-guides
MIT License
5 stars 3 forks source link

Refactor React Native App Start tests #503

Closed yousif-bugsnag closed 1 month ago

yousif-bugsnag commented 1 month ago

Goal

Reworks the test fixture so that we can test app start instrumentation in a more realistic scenario

Previously the app start scenario runs after the app has already launched, which isn’t representative of a real app and caused us to miss a bug with initial background state.

Design

The app start scenario now saves some static config via the native module and exits the app - when the app is restarted, the static config is read on launch and used to start the SDK immediately instead of starting the command runner.

Scenarios have also been refactored - instead of exporting a static config object, scenarios how have an initialise method which is called with some default configuration - scenarios can then extend/modify the config object as well as carry out any additional setup required for that specific test (e.g. save static config, start the notifier SDK, etc)

Testing

Covered by CI

github-actions[bot] commented 1 month ago

Browser bundle size

NPM build

Package
Before 196.14 kB
After 196.14 kB
± No change

CDN build

Unminified Minfied Minified + gzipped
Before 98.89 kB 36.61 kB 11.07 kB
After 98.89 kB 36.61 kB 11.07 kB
± No change No change No change

Code coverage

Coverage values did not change👌.

Total:

Lines Branches Functions Statements
87.83%(+0%) 78.92%(+0%) 88.79%(+0%) 85.91%(+0%)

Generated against fa7bc1882f614132474f1b6f6bf99452909b590d on 10 September 2024 at 15:38:32 UTC