Код IT Загрузка примера кода…

Go main.go
func TestGetUser(t *testing.T) {
    db, mock, err := sqlmock.New()
    require.NoError(t, err)
    defer db.Close()

    mock.ExpectQuery("SELECT (.+) FROM users WHERE id = \\$1").
        WithArgs(42).
        WillReturnRows(sqlmock.NewRows([]string{"id", "name"}).
            AddRow(42, "Timur"))

    repo := NewUserRepository(db)
    user, err := repo.GetUser(context.Background(), 42)
    require.NoError(t, err)
    assert.Equal(t, "Timur", user.Name)

    assert.NoError(t, mock.ExpectationsWereMet())
}
func TestGetUser(t *testing.T) {
    db, mock, err := sqlmock.New()
    require.NoError(t, err)
    defer db.Close()

    mock.ExpectQuery("SELECT (.+) FROM users WHERE id = \\$1").
        WithArgs(42).
        WillReturnRows(sqlmock.NewRows([]string{"id", "name"}).
            AddRow(42, "Timur"))

    repo := NewUserRepository(db)
    user, err := repo.GetUser(context.Background(), 42)
    require.NoError(t, err)
    assert.Equal(t, "Timur", user.Name)

    assert.NoError(t, mock.ExpectationsWereMet())
}