Testing is a crucial element of any successful software, mobile, or web application development project. With Ember, engineers have many tools on hand to simulate data and user interactions, but how can they leverage the existing technology to make testing more stable and reliable?
Senior Software Engineer Lisa Backer will answer that question and more in her EmberCamp presentation, Mocks, Spies, and Timers - Oh My! Learn more about what she’ll cover below, and watch her on stage in Chicago.
Why is testing important?
Testing is how we can validate that our software, mobile, or web application conforms to requirements. Beyond that, testing also gives us the freedom to change and improve the digital tools we build. Developers love to refactor, and testing gives us peace of mind that our changes are still producing the same high-quality end result as when we first wrote the application.
Any change can cause accidental side effects. A good test suite serves as a warning to developers before changes are committed and deployed, allowing digital tools of the highest quality to be delivered to our clients and end users. In the end, a good test suite saves time and money by allowing subsequent features and maintenance to be deployed quickly and confidently.
It’s important developers understand this bigger picture, but I also find engineers are still confused about what types of tests should be used, or what they should cover. Beyond the types of tests, many Ember developers are still unfamiliar with the strategies of mocks and spies. Also, when should we use real data vs. mocks? That can cause some controversy among development teams.
What do you hope your audience will understand about testing?
Core concepts can help developers frame their thoughts about testing and structuring tests. I want to explore those concepts, how they help establish boundaries of a test, and what defines the unit to be tested. We’ll look at spies, mocks, stubs, and timers, and the differences between them. We’ll have examples and compare different mocking systems such as sinon.js and testdouble.js. We’ll discuss these systems as used alongside Ember and even compare these systems to what other frameworks have adopted with Jest.
What have you learned about the Ember testing environment?
I have been developing software, mobile, and web applications for a long time and have watched the evolution of test frameworks along with developers’ changing attitudes towards them. Ember has made great strides in its testing approach to make tests easier to understand and write. Ember values testing beyond other frameworks, but leaves the mocking story largely up to the implementer. I want Ember developers to be strong at leveraging these capabilities and to be even more confident in the digital tools they develop.
What are you looking forward to at EmberCamp?
I’m really looking forward to hearing all of the other fabulous talks. There is a great speaker line up, and I’m humbled to be included. I’m also looking forward to the people — the Ember community is the best.
DockYard is a digital product agency offering custom software, mobile, and web application development consulting. We provide exceptional professional services in strategy, user experience, design, and full stack engineering using Ember.js and Elixir. With staff nationwide, we’ve got consultants in key markets across the United States, including San Francisco, San Diego, Phoenix, Dallas, Detroit, Miami, Pittsburgh, Baltimore, and New York.