# defineFixtures (/docs/api/core/functions/defineFixtures)



```ts
function defineFixtures<Q>(recipe, fixtures): Fixture<Q>[];
```

`NoInfer` keeps `Q` coming from the Recipe alone, so an unannotated Fixture literal is
checked against it instead of widening it. The implementation is erased because inside a
generic body TS cannot see that `Fixture<Q>` narrows `Fixture`.

## Type Parameters [#type-parameters]

| Type Parameter                                                   |
| ---------------------------------------------------------------- |
| `Q` *extends* [`Questions`](/docs/api/core/interfaces/Questions) |

## Parameters [#parameters]

| Parameter  | Type                                                                |
| ---------- | ------------------------------------------------------------------- |
| `recipe`   | [`Recipe`](/docs/api/core/type-aliases/Recipe)\<`Q`>                |
| `fixtures` | `NoInfer`\<[`Fixture`](/docs/api/core/interfaces/Fixture)\<`Q`>>\[] |

## Returns [#returns]

[`Fixture`](/docs/api/core/interfaces/Fixture)\<`Q`>\[]
