Write Tests Like a Mathematician: Part 3

In the last two blog posts, you learned that Ember treats testing as a first-class citizen. Out of the box, Ember provides 3 types of tests so that you can fine-tune test coverage and performance. It also supports a variety of addons and debugging tools to improve your developer experience in testing.

Today, we address an important question: How should you write tests? By the end of this post, you will learn 5 simple rules that I like to follow. The rules aren’t do-this-or-do-that’s (cold hard facts). Instead, they carry nuance and interesting side stories. To keep your learning experience fun, I will transcribe my talk at EmberFest 2019 (rather than summarizing it) to engage in a dialogue with you.

Continue reading “Write Tests Like a Mathematician: Part 3”

Write Tests Like a Mathematician: Part 2

Ember provides 3 types of tests out of the box:

  • Unit tests
  • Rendering tests (previously known as integration tests)
  • Application tests (previously known as acceptance tests)

Broadly speaking, these tests differ in two aspects:

  • Which parts of your app they check for correctness. Having different types of tests help separate testing concerns.
  • How fast they execute.

Let’s take a look at each type and when you might use one over another.

Continue reading “Write Tests Like a Mathematician: Part 2”

Write Tests Like a Mathematician: Part 1

Ember gives you the power to write tests and be productive from day one. You can be confident that your app will be correct today and years from now. A question remains: How should you write tests?

Since tests are a core part of the Ember framework and your development cycle, I will dedicate several blog posts on best practices for writing tests, based on my experience at work and former life as mathematician.

Today, we will cover why testing is important, what tools can help you with testing, and how to run and debug your tests.

Please note that some tools may be readily available for Ember only. However, the best practices that I will mention should be independent of your framework. After all, tests are a universal language, just like math is.

Continue reading “Write Tests Like a Mathematician: Part 1”

#EmberJS2019: Build a Larger Community

In 2018, the Ember core teams asked for community input in laying out a vision of what we need to achieve over the next year. In response, they received over 50 blog posts and several direct tweets. I read all in preparation for this post and smiled throughout, because we did achieve, and are actively working on, the following goals:

In 2019, in addition to continuing work on the items above, I’d like to see us work on building a larger community. Our community, while truly amazing and supportive, is yet small. To flourish, we need support from developers who don’t work with Ember daily. These developers may professionally work with React, Angular, or Vue. They may be self-taught or attending school, looking to enter tech with minimal risk in career trajectory and minimal time to create showcase projects.

I believe we can do 3 things to welcome these developers:

  • Publish better website (address design and content)
  • Promote Octane heavily
  • Teach Ember at local and remote Meetups

I will explain what I mean by these and highlight our action items in (Ember) orange.

Continue reading “#EmberJS2019: Build a Larger Community”