Speakerline
Speakers
Proposals
Events
Tags
Edit a proposal
Adam Cuppy
Ahmed Omran
Alan Ridlehoover
Amit Zur
Andrew Mason
Andrew Nesbitt
Andy Andrea
Andy Croll
Asia Hoe
Avdi Grimm
Ben Greenberg
Bhavani Ravi
Brandon Carlson
Brittany Martin
Caleb Thompson
Caren Chang
Chiu-Ki Chan
Christine Seeman
Cody Norman
Devon Estes
Eileen Uchitelle
Emily Giurleo
Emily Samp
Enrico Grillo
Espartaco Palma
Fito von Zastrow
Frances Coronel
Hilary Stohs-Krause
Jalem Raj Rohit
Jemma Issroff
Jenny Shih
Joel Chippindale
Justin Searls
Katrina Owen
Kevin Murphy
Kudakwashe Paradzayi
Kylie Stradley
Maeve Revels
Maryann Bell
Matt Bee
Mayra Lucia Navarro
Molly Struve
Nadia Odunayo
Nickolas Means
Noah Gibbs
Olivier Lacan
Ramón Huidobro
Richard Schneeman
Rizky Ariestiyansyah
Saron Yitbarek
Sean Moran-Richards
Shem Magnezi
Srushith Repakula
Stefanni Brasil
Stephanie Minn
Sweta Sanghavi
Syed Faraaz Ahmad
Tekin Suleyman
Thomas Carr
Tom Stuart
Ufuk Kayserilioglu
Valentino Stoll
Victoria Gonda
Vladimir Dementyev
Title
Tags (comma-separated, max 3)
Body
## Abstract Have you ever got stuck trying to write what you imagined would be a “simple” JavaScript test? As Ruby dev, do you want to test JavaScript but feel stuck in transferring your Ruby testing skills to the JavaScript world? Do you wish that one day you could write JS tests as confidently as you write tests with RSpec? Then, this talk is for you. Let’s face it: JavaScript isn’t going anywhere. One way to get more used to it is to be confident with our code by writing JavaScript automated tests. Let’s learn it together. Learn how to use Jest, a popular JavaScript testing framework. This talk will go through the basics of JavaScript Unit testing with Jest, gotchas, and helpful tips to make your JS testing experience more joyful. By the end of this talk, you’ll have added new skills to your JS testing toolbox and get an overview of the differences between RSpec and Jest. How to set up test data, mock HTTP requests, assert elements in the DOM, and more helpful bites to cover your JavaScript code confidently. ## Details ### Intended audience This talk is for Ruby developers wanting to master JavaScript testing. Although the talk will focus on the most popular JavaScript library (React), Jest can be used for testing any JavaScript application. This talk is for you if you feel comfortable with testing Ruby code with RSpec or MiniTest, and want to bring that confidence to the JavaScript world by using Jest. ### Outline [1min] Why this talk [2min] Organizing your tests with Jest Globals (describe, test, beforeEach, etc.) [2min] The testing pyramid Using Jest to cover your JavaScript unit tests System tests to cover other aspects of your app [1min] Setup realistic JavaScript Test data with Fishery [5min] Mocking with Jest HTTP requests without mocking fetch Spies, function mocks [5min] Helpful matchers User.click instead of fireEvent.click Using screen.debug() container.innerHTML to inspect the DOM [3min] Advanced testing useEffect, onChange, etc. [5min] Jest gotchas queryBy vs getBy Make sure you await for your Promises [2min] Opportunities to improve the JS ecosystem [Remaining time] Q&A ### Outcomes After attending this talk, learners will: - Become confident and productive with their JavaScript unit testing skills - Leave ready to write more JavaScript tests for their apps - Value the different perspective from the JS testing ecosystem, and find opportunities to improve the JavaScript testing ecosystem ## Pitch At my job, I usually work on large Ruby on Rails apps with React on the front-end. JavaScript is not going anywhere and by mastering how to test JavaScript in our Ruby on Rails apps, we can be confident that we are delivering a good experience for our users. Although we are used to writing System specs to cover the front-end, there is value in Unit tests for the front end. The only blocker is that testing JavaScript can be extremely hard when you are not used to it. Additionally, RSpec/MiniTest have different worldviews and we can easily get stuck when wanting to test a “simple” JavaScript component. It doesn’t have to be that way. My goal is to put together the talk I wish existed a few months ago when I was upgrading the Node version at a client project. I hope to make JavaScript testing more productive and even more joyful for Ruby devs. Outside of my work as a consultant at thoughtbot, I am one of the maintainers of faker-ruby, a library with more than 3 million downloads. I am also the co-founder of hexdevs, where I help mid-career Ruby devs get to Senior level. My writing has been featured in The Ruby on Rails podcast, Remote Ruby podcast, Code with Jason podcast, and others. Some faker-ruby releases have been featured on Ruby Weekly. I also co-organized the first Rails Girls workshop in Vancouver, BC. I have presented lightning talks at RailsConf, RubyConf Sao Paulo, and Vancouver Ruby meetup. And the talk “Perceptual Learning == More Ruby Experts?” at RubyConf 2021. On my Investment Time at Thoughtbot, I maintain faker-ruby, write blog posts, and pair with other developers. ## Bio Stefanni Brasil is the co-founder of hexdevs, a Senior Developer at thoughtbot, and a core contributor to faker-ruby. She writes for hexdevs, thoughtbot, and has a personal blog; she hosts live Open Source Thursdays coding sessions, and co-hosts the hexdevs podcast. She has delivered Perceptual Learning == More Ruby Experts? at RubyConf 2021, led the RubyConf 2023 Hack Day as a faker-ruby expert, and has given talks at the WNB.rb community, at local Ruby meetups and RailsConf. She enjoys learning and sharing her lessons with others.
Back to Speaker Directory