API Comparison
Originally published:
Last modified:
Get an up-to-date picture of how Best's API compares to Jest and Pest. See what is supported, what isn't, and what will be in the future.
- ✅️: Done
- 🖥️: In progress
- 📋️: Planning
- 🤷♂️: Researching
- ❌️: Won't do
Testing Functions
| Function | Jest | Pest | Best |
|---|---|---|---|
describe |
✅️ | ✅️ | ✅️ |
expect |
✅️ | ✅️ | ✅️ |
it |
✅️ | ✅️ | ✅️ |
test |
✅️ | ✅️ | ❌️ |
Hooks
| Hook | Jest | Pest | Best |
|---|---|---|---|
afterAll |
✅️ | ✅️ | 📋️ |
afterEach |
✅️ | ✅️ | 📋️ |
beforeAll |
✅️ | ✅️ | 📋️ |
beforeEach |
✅️ | ✅️ | 📋️ |
Modifiers
| Modifier | Jest | Pest | Best |
|---|---|---|---|
and |
❌️ | ✅️ | 🤷♂️ |
concurrent |
✅️ | ❌️ | 🤷♂️ |
dd |
❌️ | ✅️ | 🤷♂️ |
ddUnless |
❌️ | ✅️ | 🤷♂️ |
ddWhen |
❌️ | ✅️ | 🤷♂️ |
each |
✅️ | ✅️ | 🤷♂️ |
failing |
✅️ | ❌️ | 🤷♂️ |
json |
❌️ | ✅️ | 🤷♂️ |
match |
❌️ | ✅️ | 🤷♂️ |
not |
✅️ | ✅️ | ✅️ |
only |
✅️ | ✅️ | 🤷♂️ |
ray |
❌️ | ✅️ | 🤷♂️ |
sequence |
❌️ | ✅️ | 🤷♂️ |
skip |
✅️ | ✅️ | ✅️ |
todo |
✅️ | ✅️ | ✅️ |
unless |
❌️ | ✅️ | 🤷♂️ |
when |
❌️ | ✅️ | 🤷♂️ |
Asynchronous Modifiers
| Modifier | Jest | Pest | Best |
|---|---|---|---|
resolves |
✅️ | ❌️ | 🤷♂️ |
rejects |
✅️ | ❌️ | 🤷♂️ |
Matchers
| Matcher | Jest | Pest | Best |
|---|---|---|---|
toBe |
✅️ | ✅️ | ✅️ |
toBeAlpha |
❌️ | ✅️ | 🤷♂️ |
toBeAlphaNumeric |
❌️ | ✅️ | 🤷♂️ |
toBeArray |
❌️ | ✅️ | 🤷♂️ |
toBeBase64 |
❌️ | ✅️ | 🤷♂️ |
toBeBetween |
❌️ | ✅️ | 🤷♂️ |
toBeBool |
❌️ | ✅️ | 🤷♂️ |
toBeCallable |
❌️ | ✅️ | 🤷♂️ |
toBeCamelCase |
❌️ | ✅️ | 🤷♂️ |
toBeCloseTo |
✅️ | ❌️ | 🤷♂️ |
toBeDefined |
✅️ | ❌️ | 🤷♂️ |
toBeDigits |
❌️ | ✅️ | 🤷♂️ |
toBeDomain |
❌️ | ✅️ | 🤷♂️ |
toBeEmail |
❌️ | ✅️ | 🤷♂️ |
toBeEmpty |
❌️ | ✅️ | 🤷♂️ |
toBeFalse |
❌️ | ✅️ | 🤷♂️ |
toBeFalsy |
✅️ | ✅️ | 🤷♂️ |
toBeFile |
❌️ | ✅️ | 🤷♂️ |
toBeFloat |
❌️ | ✅️ | 🤷♂️ |
toBeGreaterThan |
✅️ | ✅️ | 📋️ |
toBeGreaterThanOrEqual |
✅️ | ✅️ | 📋️ |
toBeHexadecimal |
❌️ | ✅️ | 🤷♂️ |
toBeHostname |
❌️ | ✅️ | 🤷♂️ |
toBeIn |
❌️ | ✅️ | 🤷♂️ |
toBeInfinite |
❌️ | ✅️ | 🤷♂️ |
toBeInstanceOf |
✅️ | ✅️ | 🤷♂️ |
toBeInt |
❌️ | ✅️ | 🤷♂️ |
toBeIpAddress |
❌️ | ✅️ | 🤷♂️ |
toBeIterable |
❌️ | ✅️ | 🤷♂️ |
toBeJson |
❌️ | ✅️ | 🤷♂️ |
toBeKebabCase |
❌️ | ✅️ | 🤷♂️ |
toBeLessThan |
✅️ | ✅️ | 📋️ |
toBeLessThanOrEqual |
✅️ | ✅️ | 📋️ |
toBeLowercase |
❌️ | ✅️ | 🤷♂️ |
toBeMacAddress |
❌️ | ✅️ | 🤷♂️ |
toBeNaN |
✅️ | ✅️ | 🤷♂️ |
toBeNull |
✅️ | ✅️ | 🤷♂️ |
toBeNumeric |
❌️ | ✅️ | 🤷♂️ |
toBeObject |
❌️ | ✅️ | 🤷♂️ |
toBeReadableDirectory |
❌️ | ✅️ | 🤷♂️ |
toBeReadableFile |
❌️ | ✅️ | 🤷♂️ |
toBeResource |
❌️ | ✅️ | 🤷♂️ |
toBeScalar |
❌️ | ✅️ | 🤷♂️ |
toBeSnakeCase |
❌️ | ✅️ | 🤷♂️ |
toBeString |
❌️ | ✅️ | 🤷♂️ |
toBeStudlyCase |
❌️ | ✅️ | 🤷♂️ |
toBeTrue |
❌️ | ✅️ | 🤷♂️ |
toBeTruthy |
✅️ | ✅️ | 🤷♂️ |
toBeUlid |
❌️ | ✅️ | 🤷♂️ |
toBeUndefined |
✅️ | ❌️ | 🤷♂️ |
toBeUppercase |
❌️ | ✅️ | 🤷♂️ |
toBeUrl |
❌️ | ✅️ | 🤷♂️ |
toBeUuid |
❌️ | ✅️ | 🤷♂️ |
toBeWritableDirectory |
❌️ | ✅️ | 🤷♂️ |
toBeWritableFile |
❌️ | ✅️ | 🤷♂️ |
toContain |
✅️ | ✅️ | 🤷♂️ |
toContainEqual |
✅️ | ✅️ | 🤷♂️ |
toContainOnlyInstancesOf |
❌️ | ✅️ | 🤷♂️ |
toEndWith |
❌️ | ✅️ | 🤷♂️ |
toEqual |
✅️ | ✅️ | 🤷♂️ |
toEqualCanonicalizing |
❌️ | ✅️ | 🤷♂️ |
toEqualWithDelta |
❌️ | ✅️ | 🤷♂️ |
toHaveCamelCaseKeys |
❌️ | ✅️ | 🤷♂️ |
toHaveCount |
❌️ | ✅️ | 🤷♂️ |
toHaveKebabCaseKeys |
❌️ | ✅️ | 🤷♂️ |
toHaveKey |
❌️ | ✅️ | 🤷♂️ |
toHaveKeys |
❌️ | ✅️ | 🤷♂️ |
toHaveLength |
✅️ | ✅️ | ✅️ |
toHaveProperties |
❌️ | ✅️ | 🤷♂️ |
toHaveProperty |
✅️ | ✅️ | 🤷♂️ |
toHaveSameSize |
❌️ | ✅️ | 🤷♂️ |
toHaveSnakeCaseKeys |
❌️ | ✅️ | 🤷♂️ |
toHaveStudlyCaseKeys |
❌️ | ✅️ | 🤷♂️ |
toMatch |
✅️ | ✅️ | 🤷♂️ |
toMatchArray |
❌️ | ✅️ | 🤷♂️ |
toMatchConstraint |
❌️ | ✅️ | 🤷♂️ |
toMatchInlineSnapshot |
✅️ | ❌️ | 🤷♂️ |
toMatchObject |
✅️ | ✅️ | 🤷♂️ |
toMatchSnapshot |
✅️ | ❌️ | 🤷♂️ |
toStartWith |
❌️ | ✅️ | 🤷♂️ |
toStrictEqual |
✅️ | ❌️ | 🤷♂️ |
toThrow |
✅️ | ✅️ | ✅️ |
toThrowErrorMatchingSnapshot |
✅️ | ❌️ | 🤷♂️ |
Mock functions
| Function | Jest | Pest | Best |
|---|---|---|---|
toHaveBeenCalled |
✅️ | ❌️ | 🤷♂️ |
toHaveBeenCalledTimes |
✅️ | ❌️ | 🤷♂️ |
toHaveBeenCalledWith |
✅️ | ❌️ | 🤷♂️ |
toHaveBeenLastCalledWith |
✅️ | ❌️ | 🤷♂️ |
toHaveBeenNthCalledWith |
✅️ | ❌️ | 🤷♂️ |
toHaveLastReturnedWith |
✅️ | ❌️ | 🤷♂️ |
toHaveNthReturnedWith |
✅️ | ❌️ | 🤷♂️ |
toHaveReturned |
✅️ | ❌️ | 🤷♂️ |
toHaveReturnedTimes |
✅️ | ❌️ | 🤷♂️ |
toHaveReturnedWith |
✅️ | ❌️ | 🤷♂️ |
Asymmetric Matchers
🤷♂️
Assertion Count
🤷♂️
Extend Utilities
🤷♂️
Matcher State
🤷♂️
Serializable properties
🤷♂️