Я использую JMH. У меня есть два метода, которые я хочу проводить отдельно. У меня есть один метод (метод A), который создает массив объектов. Я хочу, чтобы другой метод (метод B) использовал тот же массив объектов, созданный в методе A. Проблема в том, что по завершении работы метода A время содержимого массива больше не существует за пределами области метода. Как я могу работать с общим состоянием между методами?Объекты JMH вне метода scope
ответ
Вы должны создать блок @Setup
, который создает коллекцию экземпляров, которые вы можете использовать для сериализации/десериализации. Этот блок @Setup
должен будет сделать две вещи; создайте объекты, которые вы хотите сериализовать, и сериализованные версии.
Что вы тогда сделать, это написать тест methodA
, который выполняет сериализацию на всех объектах (и сравнивает их с известными хорошими сериализованными полей), а затем иметь второе испытание methodB
, выполняющую десериализации объектов и сравнивает их с известных хороших значений.
В сущности, у вас не должно быть кода установки в ваших методах тестирования, и вы не должны допускать никакого порядка между ними. Сделайте код установки, который вы делаете один раз, в @Setup
, а затем читайте только эти значения. Убедитесь, что вы возвращаете значения или проверяете их каким-либо образом, чтобы они не были исключены JIT.
- 1. AngularJS доступ к $ scope вне метода
- 2. Obj-c: возврат NSArray из метода - объекты вне рамок
- 3. Заброшенные объекты scope
- 4. Variable Scope вне функции jQuery
- 5. Scope метода длины()
- 6. Добавить объекты в Arraylist и использовать их вне метода
- 7. Android. Можно ли инициализировать объекты вне метода жизненного цикла onCreate()?
- 8. Объявление целого вне метода?
- 9. system.out.print вне основного метода?
- 10. Получение ценности вне метода
- 11. NullPointerException вне метода volley
- 12. достичь метода вне плагина
- 13. Переменный контент вне метода
- 14. Использование var вне метода
- 15. Watir - Регистрация вне метода
- 16. Объявить PrintWriter вне метода
- 17. Js: функция и объект Scope/вне сферы
- 18. $ scope не работает вне функции get
- 19. Javascript Variable Scope - var объявлен вне функции
- 20. Угловая $ scope недоступна вне моей функции
- 21. Typcript/AngularJS: $ scope undefined вне конструктора
- 22. Использование $ scope. $ Apply() вне мира AngularJS
- 23. libgdx - управляющие объекты вне камеры
- 24. JMH: доступ к BenchmarkParams от метода @Setup из @State класса
- 25. Как напечатать результат метода вне метода
- 26. Как запустить код вне метода метеорного метода
- 27. OutOfMemory с JMH и Mode.AverageTime
- 28. Синхронизировать объекты через $ scope без службы
- 29. JMH: Ограничить пространство параметров
- 30. JMH и многопоточность
Вам действительно нужна зависимость между этими двумя методами? Вы можете использовать @Setup для создания массива для метода b. Этот образец может помочь: http://hg.openjdk.java.net/code-tools/jmh/file/39ed8b3c11ce/jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_05_StateFixtures.java –
Да Я знаю об этом параметре, но мне нужно сравнить метод, который сериализует массив объектов, и я хочу отдельно тестировать метод, который принимает этот массив объектов и десериализует его. Заранее спасибо – TaliG
А как насчет сериализации объектов в @Setup? На самом деле, я не понимаю. Может быть, это поможет, если вы покажете код. –