An error occurred while fetching the assigned milestone of the selected merge_request.
Replace static fixture by generated one in issue_spec.js
What does this MR do?
- clean up
issue_spec.js
- introduce an alternative approach to #19445 (closed)
- rename
rake teaspoon
torake teaspoon:tests
- introduce
rake teaspoon:fixtures
which generates fixtures using RSpec - introduce
rake teaspoon
which runsrake teaspoon:fixtures
andrake teaspoon:tests
- rename
Why was this MR needed?
- many duplications
- missing existence checks
- missing conditions
- static fixtures don't match real views
Reasoning
I want to explain some of my decisions here, so that they stay visible for future discussions.
Why not HAML?
- same number of HAML templates as number of fixtures (many input files)
- embedded logic less readable
- can not be rendered by JavaScript (because of inline Ruby)
Why RSpec?
- real controllers for fixtures
- spys available for mocking
- easily report failed fixture generations
#19445 (closed))
Why not magic_lamp? (- introduces another dependency/tool
- needs to run a server concurrently to teaspoon
- makes it harder to use a JavaScript test runner
- static HTML files serve faster
Merge request reports
Activity
Please register or sign in to reply