У меня есть этот код в Groovy;
def execution = []
def executor =[:]
for(loopcount=1;loopcount<4;loopcount++){
executor.executor = 'jmeter'
executor.scenario = 'scenario' + loopcount
println executor.scenario
executor.concurrency = 2
execution.add(executor)
}
execution.each{
println executor.scenario
}
Это список из трех карт, все те же, кроме приращений суффикса сценария. Я ожидаю;
scenario1
scenario2
scenario3
scenario1
scenario2
scenario3
Но я получаю;
scenario1
scenario2
scenario3
scenario3
scenario3
scenario3
Это определенно добавляет три разные карты в список, потому что команда .each возвращает три значения. И они определенно разные значения в executor.scenario, потому что println в l oop дает правильное количество '1, 2, 3'. Но почему они не остаются разными значениями в списке?
Я также пытался выполнить execute.pu sh (executor), но это дает те же результаты. Для контекста, это то, к чему я стремлюсь в конечном итоге;
---
execution:
- executor: "jmeter"
scenario: "scenario1"
concurrency: 2
- executor: "jmeter"
scenario: "scenario2"
concurrency: 2
- executor: "jmeter"
scenario: "scenario3"
concurrency: 2
И кроме подсчета сценариев, все остальное работает нормально.