如何用Jest测试数字范围?

Jul*_*urt 3 javascript testing reactjs jestjs redux

我有:

const BOARD = {
  size: {
    columns: 5,
    rows: 5,
  },
}
Run Code Online (Sandbox Code Playgroud)

以及一个Redux动作创建者,该动作产生者在董事会规模之内:

const generateInitialPlayerPosition = (
  { 
    x = random(0, BOARD_SIZE.size.rows - 1), 
    y = random(0, BOARD_SIZE.size.columns - 1) 
  } = {}) => ({
  type: GENERATE_INITIAL_PLAYER_POSITION,
  payload: { x, y },
  }
)
Run Code Online (Sandbox Code Playgroud)

我需要测试在这种情况下generateInitialPlayerPosition不会返回任何值xy大于4

dir*_*lik 6

使用方法.toBeGreaterThanOrEqual.toBeLessThan

const value = ...
expect(value).toBeGreaterThanOrEqual(lower_inclusive);
expect(value).toBeLessThan(upper_exclusive);
Run Code Online (Sandbox Code Playgroud)


Adr*_*ian 5

如果它们是十进制数字,您可以使用.toBeCloseTo

test('adding works sanely with decimals', () => {
  expect(0.2 + 0.1).toBeCloseTo(0.3);
});
Run Code Online (Sandbox Code Playgroud)