[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Test](https://evolu.dev/docs/api-reference/common/Test) › testCreateDeps

```ts
function testCreateDeps(options?: { seed?: string }): TestDeps;
```

Defined in: [packages/common/src/Test.ts:77](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Test.ts#L77)

Creates deterministic [TestDeps](https://evolu.dev/docs/api-reference/common/Test/type-aliases/TestDeps).

Each call creates fresh instances, so tests don't share state.

Includes these deps:

- `console`: [TestConsole](https://evolu.dev/docs/api-reference/common/Console/interfaces/TestConsole)
- `random`: [Random](https://evolu.dev/docs/api-reference/common/Random/interfaces/Random)
- `randomLib`: seeded `random` package instance
- `randomBytes`: [RandomBytes](https://evolu.dev/docs/api-reference/common/Crypto/interfaces/RandomBytes)
- `time`: [TestTime](https://evolu.dev/docs/api-reference/common/Time/interfaces/TestTime)

Use this for synchronous code that accepts deps directly. For tests that run
Tasks, use [testCreateRun](https://evolu.dev/docs/api-reference/common/Test/functions/testCreateRun).

### Example

```ts
test("Callbacks with no argument", () => {
  const deps = testCreateDeps();
  const callbacks = createCallbacks(deps);

  let called = false;
  const id = callbacks.register(() => {
    called = true;
  });

  callbacks.execute(id);
  expect(called).toBe(true);
});
```