Skip to main content

Testing Conventions

General conventions for tests

Integration/Component Tests

Mocking

The more your tests resemble the way your software is used, the more confidence they can give you.

Style Guide

  • Use mixins/jest or mixins/vitest from @runespoor/eslint-config.
  • The test file should be located in the __tests__/unit or __tests__/integration folder, depending on the tests type. - It will help to run unit and integration test separatly.
  • The tests should be located in the same folder as the component/method/class you are testing.
  • The name of the test file should be the same as the component/method/class you are testing, but with the .test suffix.
  • describe:
    • Do not use nested describe.
    • The message should be the name of the component/method/class your are testing.
    • Example: describe('useEntitiesMap', () => {})
    • Use separte describe for covering corner cases in the same testing file. It might be useful when you fix bugs and want to decrease the bugs repetition.
      • Example: describe('useEntitiesMap (corner cases)', () => {})
  • it:
    • The message should be started with should word.
    • The message should be in the present tense.
    • Use ` ` quotes for all the technical names (props, args, handlers, hooks, etc.).
    • Example: it('should skip the entity if it does not have an object by the provided `entityDataPath`', () => {})
  • Mocks:
    • The name of the mock function or constant should be started with mock word. (not mocking , not mocked )