#groovy #spock
#groovy #спок
Вопрос:
Я запускаю тестовый пример и хочу, чтобы код автоматически загружал соответствующий файл .json .
Прямо сейчас я жестко кодирую файл, но я хочу, чтобы он загружался при запуске соответствующего тестового класса, поэтому я хочу сделать его универсальным.
def setupSpec() {
config = (Map) new
JsonSlurper().parse(getClass().getResourceAsStream("wps.build.json"))
config.build = "Wps build ${new Date()}"
caps = bsLocal.defaultCaps
caps.setCapability("build", config.build)
caps.setCapability("browserstack.console", "info")
attempts = config.environments.size()
}```
Это структура
https://imgur.com/g7a2B3n
Комментарии:
1. загрузите его, например, по имени класса
WPS.class
->wps.json
. в чем проблема?2. если я запускаю другой тестовый пример, как мне получить имя класса для запущенного тестового примера??
3.
this.getClass().getName()
4. да, это нормально, но спецификация настройки в соответствии с spock framework выполняется перед первым методом . Итак, эта спецификация настройки относится к другому классу . Поэтому, пока он выполняется, мне нужно получить имя класса. this.getClass().getName() вернет имя класса методов setupspec() . что мне нужно, так это имя класса тестовых примеров, здесь, чтобы я мог интерполировать и добавлять имя, а не жестко. Ты понял, братан?