# jest/prefer-to-have-been-called-times 📝 Suggest using `toHaveBeenCalledTimes()`. 🔧 This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). In order to have a better failure message, `toHaveBeenCalledTimes` should be used instead of directly checking the length of `mock.calls`. ## Rule details This rule triggers a warning if `toHaveLength` is used to assert the number of times a mock is called. > [!NOTE] > > This rule should ideally be paired with > [`prefer-to-have-length`](./prefer-to-have-length.md) The following patterns are considered warnings: ```js expect(someFunction.mock.calls).toHaveLength(1); expect(someFunction.mock.calls).toHaveLength(0); expect(someFunction.mock.calls).not.toHaveLength(1); ``` The following patterns are not warnings: ```js expect(someFunction).toHaveBeenCalledTimes(1); expect(someFunction).toHaveBeenCalledTimes(0); expect(someFunction).not.toHaveBeenCalledTimes(0); expect(uncalledFunction).not.toBeCalled(); expect(method.mock.calls[0][0]).toStrictEqual(value); ```