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

```ts
type TestRunDefaultDeps = Omit<
  RunDefaultDeps,
  "console" | "leakDetector" | "reportDefect" | "time"
> &
  TestConsoleDep &
  TestLeakDetectorDep &
  TestReportDefectDep &
  TestTimeDep &
  RandomLibDep;
```

Defined in: [packages/common/src/Task.ts:2183](https://github.com/evoluhq/evolu/blob/a18269a1b822c670b507c6a9b73b23eed32551fe/packages/common/src/Task.ts#L2183)

Deterministic test variants of [RunDefaultDeps](https://evolu.dev/docs/api-reference/common/Task/type-aliases/RunDefaultDeps).

The omitted `console`, `leakDetector`, `reportDefect`, and `time` are
replaced with test variants that add test controls such as
`console.getEntriesSnapshot()`, `leakDetector.collect()`,
`reportDefect.next()`, and `time.advance()`. `nativeFetch`, `random`, and
`randomBytes` keep their production types because their test implementations
add no extra API; they are just seeded or test-only fallbacks.

[RandomLibDep](https://evolu.dev/docs/api-reference/common/Random/interfaces/RandomLibDep) is an addition, not a replacement. It is not part of
[RunDefaultDeps](https://evolu.dev/docs/api-reference/common/Task/type-aliases/RunDefaultDeps); it exposes the seeded random library that drives all
test randomness. Tests use it directly as a deterministic random toolkit —
shuffling inputs and generating reproducible random data — and
`testCreateRandomBytes` derives random bytes from it, so everything flows
from one seed.