Я где-то слышал что для тестов где используются priceBook нужно использовать (SeeAllData=true)Хотелось еще услышать где используется (SeeAllData=true) в каких случая ?
У меня закрадывается подозрение что это связано с PriceBook объектами. Product с ним связан очень тесно. И возможно SeeAllData=true необходимо именно чтобы получить доступ к реальным PriceBook, которые возможно не так просто создать из тестов. Я бы копал в эту сторону. Там еще с валютами тоже все очень интересно.
Вот что гугл выдал по этой теме:
Test code for pricebook
SeeAllData=false and Pricebooks
от млин, что-то я невнимательно вопрос прочитал
предыдущий ответ не в тему получился. Почему-то у меня в голове вопрос про Product был
!!!!
SeeAllData=true используется только потому что невозможно создать стандартный pricebook в тесте(priceBook у которого isStandatd=true).
таким образом если в тесте нужно создать priceBook (не стандартный, а каcтомный) или например priceBookEntry без SeeAllData=true не обойтись.
Больше нигде насколько я знаю использовать не рекомендуется.
Если я правильно помню в последнем релизе уже можно не использовать SeeAllData
DI и Testt.getStandardPricebookId() Вас спасет!
Да, верно, SeeAllData = true - зло, наконец они решили этот вопрос в последнем релизе