Fixtures keep tests apart
A fixture runs fresh for each test. That is the point: one test mutating a shared object must not change what the next test sees. When tests share state, they pass alone and fail together, or the reverse, and that flakiness is the giveaway.
Setup belongs in the fixture
Put the how-to-get-ready code in the fixture, not in the test body. The test then reads as a claim about a value, and the how is named once and reused. When the setup changes, you change one fixture, not every test that needed it.