Регистрация  |  Вход

Обходные пути в SalesForce (хаки)

Наши восточные консультанты нашли способ деплоить тестовые классы на продакшен в обыкаком виде. То есть с живыми IDs c sandbox и т.д. Вообщем мне интересно что это за пути такие и хотелось бы другие увидеть другие примеры таких Хаков.

Наши восточные консультанты нашли способ деплоить тестовые классы на продакшен в обыкаком виде. То есть с живыми IDs c sandbox и т.д. Вообщем мне интересно что это за пути такие и хотелось бы другие увидеть другие примеры таких Хаков.

Перенос ID хардкодом между оргами - это очень-очень плохо.
Более того, хранение ID в коде того же орга это тоже из разряда преступлений.

Получается либо у "восточных консультантов" руки не оттуда растут либо я чего-то не знаю (тогда мои руки тоже не туда приделаны).

В общем если это работает, то у меня только одно объяснение.

Sandbox, откуда переносят код на Production, является full-copy sandbox для данного прода. А это означает, что данные (в том числе и ID) на Production и на этом Sandbox будут одинаковые. Тогда только код, с забитыми внутри ID, может работать как на Sandbox, так и на проде.

Других объяснений у меня нет.

Перенос ID хардкодом между оргами - это очень-очень плохо. 
Более того, хранение ID в коде того же орга это тоже из разряда преступлений.

Получается либо у "восточных консультантов" руки не оттуда растут либо я чего-то не знаю (тогда мои руки тоже не туда приделаны).

В общем если это работает, то у меня только одно объяснение.

Sandbox, откуда переносят код на Production, является full-copy sandbox для данного прода. А это означает, что данные (в том числе и ID) на Production и на этом Sandbox будут одинаковые. Тогда только код, с забитыми внутри ID, может работать как на Sandbox, так и на проде.

Других объяснений у меня нет.

Уху, с 99% процентной вероятностью Дмитрий прав. И это весьма неразумная идея ибо потом будет большая попоболь это всё поддерживать. А потом если SalesForce решит что-то поменять, а это они запросто, то всё, что зависит от этих хаков, накроется медным тазом.

Уху, с 99% процентной вероятностью Дмитрий прав. И это весьма неразумная идея ибо потом будет большая попоболь это всё поддерживать. А потом если SalesForce решит что-то поменять, а это они запросто, то всё, что зависит от этих хаков, накроется медным тазом.

andreyzh
Уху, с 99% процентной вероятностью Дмитрий прав. И это весьма неразумная идея ибо потом будет большая попоболь это всё поддерживать. А потом если SalesForce решит что-то поменять, а это они запросто, то всё, что зависит от этих хаков, накроется медным тазом.

Это все понятно.Просто до конца ситуацию не объяснил я попытлся сделать деплой на продакшен естественно код восточных консультатов свалился в разных местах (и даже не по причине живых Ids туда просто не дошло), в разных местах, мне пришлось делать скриншоты ошибок и отсылать тем кто это писал и попутно доказыать что я не дурак, благо среди восточных консультантов есть вменяемые.Переписать это все было бы очень долго тем более что я даже не могу предположить как работают реальные классы, если бы я знал как это делается хак я бы его сделал потому что надо было подлить маленький метод.A потом объяснять что так ребята не делается. Я слышал на одной из пати по salesforce что есть волшебная функция что вроде i++ которая автоматом покрывает все тест классы.

[quote="andreyzh"]Уху, с 99% процентной вероятностью Дмитрий прав. И это весьма неразумная идея ибо потом будет большая попоболь это всё поддерживать. А потом если SalesForce решит что-то поменять, а это они запросто, то всё, что зависит от этих хаков, накроется медным тазом.[/quote]
Это все понятно.Просто до конца ситуацию не объяснил я попытлся сделать деплой на продакшен естественно код восточных консультатов свалился в разных местах (и даже не по причине живых Ids туда просто не дошло), в разных местах, мне пришлось делать скриншоты ошибок и отсылать тем кто это писал и попутно доказыать что я не дурак, благо среди восточных консультантов есть вменяемые.Переписать это все было бы очень долго тем более что я даже не могу предположить как работают реальные классы, если бы я знал как это делается хак я бы его сделал потому что надо было подлить маленький метод.A потом объяснять что так ребята не делается. Я слышал на одной из пати по salesforce что есть волшебная функция что вроде i++ которая автоматом покрывает все тест классы.

У меня вот другая попаболь сейчас, есть проект. В нем напихано классов и триггеров как иголок на ежике. Работает то все прекрасно) Но проблема в том что когда я деплою на продакшен, валидируется всё сразу и сейчас! И вываливает лимит по выборкам. Приходится все выборки в классах и триггерах загонять в if(!Test.isRunningTest()). Есть ли какой выход из данной ситуации?

У меня вот другая попаболь сейчас, есть проект. В нем напихано классов и триггеров как иголок на ежике. Работает то все прекрасно)  Но проблема в том что когда я деплою на продакшен, валидируется всё сразу и сейчас! И вываливает лимит по выборкам. Приходится все выборки в классах и триггерах загонять в if(!Test.isRunningTest()). Есть ли какой выход из данной ситуации?

Sergey Prichepo
Я слышал на одной из пати по salesforce что есть волшебная функция что вроде i++ которая автоматом покрывает все тест классы.

)))))) Знаю я про этот волшебный метод (только у нас он называется a++)
Это хрень полная, страшный хак, но если надо ОЧЕНЬ БЫСТРО докинуть нехватающих процентов покрытия, то очень помогает.

Смысл вот в чем:
есть какой-то (для примера) метод и состоит он из 2 строчек. Одна строчка покрывается тестами, а другая нет. Получаем 50% покрытия. В итоге нифига не деплоится. Добавляем в класс два строчки a++. В итоге получается 4 строчки в методе и 3 из них покрываются тестами, а одна так и остается непокрытой. В итоге 75% покрытия кода. Профит!!!!

[quote="Sergey Prichepo"]Я слышал на одной из пати по salesforce что есть волшебная функция что вроде i++ которая автоматом покрывает все тест классы.[/quote]

 ))))))  Знаю я про этот волшебный метод (только у нас он называется a++)
Это хрень полная, страшный хак, но если надо ОЧЕНЬ БЫСТРО докинуть нехватающих процентов покрытия, то очень помогает.

Смысл вот в чем:
есть какой-то (для примера) метод и состоит он из 2 строчек. Одна строчка покрывается тестами, а другая нет. Получаем 50% покрытия. В итоге нифига не деплоится. Добавляем в класс два строчки a++. В итоге получается 4 строчки в методе и 3 из них покрываются тестами, а одна так и остается непокрытой. В итоге 75% покрытия кода. Профит!!!!

Sergey Prichepo
естественно код восточных консультатов свалился в разных местах (и даже не по причине живых Ids туда просто не дошло), в разных местах, мне пришлось делать скриншоты ошибок и отсылать тем кто это писал и попутно доказыать что я не дурак

У нас такое часто бывает, когда разные канторы работают на одного заказчика. Ну так это ж их проблемы. Тесты падают не твои, пусть заказчик и крутит хвосты тому кто виноват. Хотя это я образно конечно. Все равно ситуации разные бывают.

[quote="Sergey Prichepo"]естественно код восточных консультатов свалился в разных местах (и даже не по причине живых Ids туда просто не дошло), в разных местах, мне пришлось делать скриншоты ошибок и отсылать тем кто это писал и попутно доказыать что я не дурак[/quote]

У нас такое часто бывает, когда разные канторы работают на одного заказчика. Ну так это ж их проблемы. Тесты падают не твои, пусть заказчик и крутит хвосты тому кто виноват. Хотя это я образно конечно. Все равно ситуации разные бывают.

Dmitry Shnyrev
Sergey Prichepo
Я слышал на одной из пати по salesforce что есть волшебная функция что вроде i++ которая автоматом покрывает все тест классы.

)))))) Знаю я про этот волшебный метод (только у нас он называется a++)
Это хрень полная, страшный хак, но если надо ОЧЕНЬ БЫСТРО докинуть нехватающих процентов покрытия, то очень помогает.

Улыбнуло :)

[quote="Dmitry Shnyrev"][quote="Sergey Prichepo"]Я слышал на одной из пати по salesforce что есть волшебная функция что вроде i++ которая автоматом покрывает все тест классы.[/quote]

 ))))))  Знаю я про этот волшебный метод (только у нас он называется a++)
Это хрень полная, страшный хак, но если надо ОЧЕНЬ БЫСТРО докинуть нехватающих процентов покрытия, то очень помогает.[/quote]

Улыбнуло :)