Как запустить интеграционные тесты в заданном порядке?
Так делать не правильно. Тесты не должны зависеть друг от друга.
Всё, что вы делаете внутри функции 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)
}