Наши восточные консультанты нашли способ деплоить тестовые классы на продакшен в обыкаком виде. То есть с живыми 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 решит что-то поменять, а это они запросто, то всё, что зависит от этих хаков, накроется медным тазом.
[quote="andreyzh"]Уху, с 99% процентной вероятностью Дмитрий прав. И это весьма неразумная идея ибо потом будет большая попоболь это всё поддерживать. А потом если SalesForce решит что-то поменять, а это они запросто, то всё, что зависит от этих хаков, накроется медным тазом.[/quote] Это все понятно.Просто до конца ситуацию не объяснил я попытлся сделать деплой на продакшен естественно код восточных консультатов свалился в разных местах (и даже не по причине живых Ids туда просто не дошло), в разных местах, мне пришлось делать скриншоты ошибок и отсылать тем кто это писал и попутно доказыать что я не дурак, благо среди восточных консультантов есть вменяемые.Переписать это все было бы очень долго тем более что я даже не могу предположить как работают реальные классы, если бы я знал как это делается хак я бы его сделал потому что надо было подлить маленький метод.A потом объяснять что так ребята не делается. Я слышал на одной из пати по salesforce что есть волшебная функция что вроде i++ которая автоматом покрывает все тест классы.
У меня вот другая попаболь сейчас, есть проект. В нем напихано классов и триггеров как иголок на ежике. Работает то все прекрасно) Но проблема в том что когда я деплою на продакшен, валидируется всё сразу и сейчас! И вываливает лимит по выборкам. Приходится все выборки в классах и триггерах загонять в if(!Test.isRunningTest()). Есть ли какой выход из данной ситуации?
У меня вот другая попаболь сейчас, есть проект. В нем напихано классов и триггеров как иголок на ежике. Работает то все прекрасно) Но проблема в том что когда я деплою на продакшен, валидируется всё сразу и сейчас! И вываливает лимит по выборкам. Приходится все выборки в классах и триггерах загонять в if(!Test.isRunningTest()). Есть ли какой выход из данной ситуации?
)))))) Знаю я про этот волшебный метод (только у нас он называется a++)
Это хрень полная, страшный хак, но если надо ОЧЕНЬ БЫСТРО докинуть нехватающих процентов покрытия, то очень помогает.
Смысл вот в чем:
есть какой-то (для примера) метод и состоит он из 2 строчек. Одна строчка покрывается тестами, а другая нет. Получаем 50% покрытия. В итоге нифига не деплоится. Добавляем в класс два строчки a++. В итоге получается 4 строчки в методе и 3 из них покрываются тестами, а одна так и остается непокрытой. В итоге 75% покрытия кода. Профит!!!!
[quote="Sergey Prichepo"]Я слышал на одной из пати по salesforce что есть волшебная функция что вроде i++ которая автоматом покрывает все тест классы.[/quote] )))))) Знаю я про этот волшебный метод (только у нас он называется a++) Это хрень полная, страшный хак, но если надо ОЧЕНЬ БЫСТРО докинуть нехватающих процентов покрытия, то очень помогает. Смысл вот в чем: есть какой-то (для примера) метод и состоит он из 2 строчек. Одна строчка покрывается тестами, а другая нет. Получаем 50% покрытия. В итоге нифига не деплоится. Добавляем в класс два строчки a++. В итоге получается 4 строчки в методе и 3 из них покрываются тестами, а одна так и остается непокрытой. В итоге 75% покрытия кода. Профит!!!!
У нас такое часто бывает, когда разные канторы работают на одного заказчика. Ну так это ж их проблемы. Тесты падают не твои, пусть заказчик и крутит хвосты тому кто виноват. Хотя это я образно конечно. Все равно ситуации разные бывают.
[quote="Sergey Prichepo"]естественно код восточных консультатов свалился в разных местах (и даже не по причине живых Ids туда просто не дошло), в разных местах, мне пришлось делать скриншоты ошибок и отсылать тем кто это писал и попутно доказыать что я не дурак[/quote] У нас такое часто бывает, когда разные канторы работают на одного заказчика. Ну так это ж их проблемы. Тесты падают не твои, пусть заказчик и крутит хвосты тому кто виноват. Хотя это я образно конечно. Все равно ситуации разные бывают.
Улыбнуло :)
[quote="Dmitry Shnyrev"][quote="Sergey Prichepo"]Я слышал на одной из пати по salesforce что есть волшебная функция что вроде i++ которая автоматом покрывает все тест классы.[/quote] )))))) Знаю я про этот волшебный метод (только у нас он называется a++) Это хрень полная, страшный хак, но если надо ОЧЕНЬ БЫСТРО докинуть нехватающих процентов покрытия, то очень помогает.[/quote] Улыбнуло :)