Всё, что вы делаете внутри функции func Test... не должно зависеть от других функций Test...
Это однозначно приведёт к усложнению понимания самого теста, усложнению контроля хода его выполнения и результатов.
А когда вы обрастёте тестами - придётся вообще все тесты переделывать :)
Сделайте лучше функцию для создания элемента, например createItem и вызывайте её во всех необходимых функциях теста, например так
func createItem(item Item) (Item, error) {
// сохраняете объект в базу и возвращаете его
return Item, nil
}
func TestCreate(t *testing.T) {
item, err := createItem(...)
assert.NotNil(t, err)
...
err = deleteItem(item)
assert.NotNil(t, err)
}
func TestUpdate(t *testing.T) {
item, err := createItem(...)
assert.NotNil(t, err)
err = updateItem(item)
assert.NotNil(t, err)
err = deleteItem(item)
assert.NotNil(t, err)
}