Ну что можно сказать? Явно писал человек далекий от Salesforce и который про лимиты если и знает то крайне отдаленно. Здесь на форуме мы уже вроде обсуждали эту тему и вроде бы знаем что это плохо - пихать все в один тест метод. Да, на один метод один стандартный лимит (вернее 2: до и после test.startTest)
@isTest private class TEST_Package { public static OrgSrc__c prepareData() { } static testMethod void TestClasses() { OrgSrc__c O = prepareData(); test.startTest(); // Run tests from another class or methods test.stopTest(); } }
Чем хорош этот метод. - Вы не зависите от настроек тестов (Параллельное последовательное выполнение).Это бывает очень важно при установке пакета у клиента. - Используете централизованный метод для создания даты. - Отдельные тесты можете выновить в отдельные классы как и раньше
так, так. А вот эти стат методы, что вызываются тут, они помечены как testMethod ? а их класс @isTest?
и если так, то получается, что когда Прод прогоняет все тесты, то сначала прогонит эти методы внутри нашего "фасадного" юнит-теста, а потом еще раз прогонит их самих по себе? в чем смысл?
и если так, то получается, что когда Прод прогоняет все тесты, то сначала прогонит эти методы внутри нашего "фасадного" юнит-теста, а потом еще раз прогонит их самих по себе? в чем смысл?
Именно так. Никакого, кроме удобства запуска отдельно.
А еще вот на этот важный вопрос ты узнал ответ?
т.е. просто вызвать статический другой тест-метод(ы) внутри данного тест-метода? и у каждого будет свой лимит?
Не только. так же он позволяет исключить падения тестов по причине параллельного запуска.
Чего-то нифига не понятно. Вот давай на пальцах.
есть 3 тест метода и еще один (четвертый), который запускает внутри себя тесты по твоему способу. Я делаю Run All Tests. И что я вижу? Запускаются 4 метода параллельно, причем 4 метод запускает остальные 3 метода еще раз повторно но уже последовательно. Смысл? Если и так все свалится еще до запуска 4 метода?
А для того чтобы исключить падение тестов при параллельном запуске - у меня такое очень часто происходит - достаточно просто отключить на орге параллельный запуск тестов. По крайней мере мне всегда помогает.
Например я в каждом тест методе привык копипастом создавать пользователя, под которым запускаются тесты. Вроде ничего криминального. Но если на орге включено параллельное выполнение тестов у меня часто выскакивает ошибка что пользователь с таким username уже существует. Звучит как бред и по идее каждый тест метод должен запускаться с своем независимом тестовом окружении, но собственно такое имеет место происходить. Решается простым отключением параллельного запуска тестов.
У кого какие еще примеры проблем с параллельным выполнением тестов?
Бывают случаи когда вы не можете контроллировать эту самую галочку в настройках запуска тестов. Поэтому и делается фасад через который и запускаются все тесты.
А даже если вы и можете контроллировать эту настройку, то по моему мнению лучше все равно использлвать фасад, так как вы можете легко контроллировать процесс запуска тестов.