What if tests share and mutate some common state, and their logic depends on previous tests? Is it acceptable practice? Simple code for example (js):
describe('Some tests', () => {
const state = {
value: 'test'
addMe() {
this.value = this.value + ' me'
}
addPlease() {
this.value = this.value + ', please'
}
}
it('Some test', () => {
state.addMe()
expect(state.value).toBe('test me')
})
it('Another test', () => {
state.addPlease()
expect(state.value).toBe('test me, please')
})
})