az-digital / arizona-bootstrap

UArizona's front-end toolkit based on Bootstrap 4 and 5.
https://digital.arizona.edu/arizona-bootstrap
MIT License
5 stars 8 forks source link

Arizona Bootstrap testing tools are are behind the current tooling in upstream Twitter Bootstrap #597

Open mmunro-ltrr opened 2 years ago

mmunro-ltrr commented 2 years ago

What is the problem that we want to solve?

Arizona Bootstrap should start using visual regression testing, ahead of the testing facilities in upstream Twitter Bootstrap, but currently it lags behind the tooling available there, in particular not supporting our new BrowserStack account.

Conditions of satisfaction

mmunro-ltrr commented 2 years ago

Several additional pieces of background here. Twitter Bootstrap includes some automated unit tests, and visual tests that are completely manual. The description for the test suite in v4 is at https://github.com/twbs/bootstrap/blob/v4-dev/js/tests/README.md and the analogous description in v5 is currently at https://github.com/twbs/bootstrap/blob/main/js/tests/README.md They use different test frameworks: v4 has QUnit (the basic unit test suite) augmented by Sinon (for additions like spies, mocks, and stubs), but v5 has switched to Jasmine (which doesn't need an additional dependency). An issue https://github.com/twbs/bootstrap/issues/27542 includes discussion of the reason for the change (resolved by https://github.com/twbs/bootstrap/pull/28518). Both v4 and v5 use the Karma test runner. Jasmine now includes some limited test running capabilities, but Karma includes support for BrowserStack, while the only comparable feature in Jasmine is Saucelabs support. Arizona Bootstrap stripped out the QUnit and Sinon dependencies, so when restoring some unit tests it would be best to use Jasmine (which could then serve as the basis for testing in the Arizona Bootstrap v3, based on Twitter Bootstrap v5). Just restoring the present testing suite isn't very exciting, but is more of a step to test the BrowserStack integration, & hopefully pave the way to automated visual tests.