2010-10-26 68 views
0

我在SOAPUI中使用groovy,並且當前正在嘗試確定來自2個端點的響應是否會產生相同的結果。搜索另一個數組中的數組的內容

我正在將我的XML響應轉換爲每個端點的數組,然後循環訪問Array1和Array2以確認Array1中每個項目的存在。

這是非常醜陋的代碼,我確實看過地圖,但語法混淆了我。我不確定如何創建這樣的數組映射。你如何在這種情況下創建密鑰?

在此期間,我wellbeing..Is的緣故,有達到以下的更優雅的方式:

def outerCount = 0 
def innerCount = 0 
for(i in arrayOfInvoicesSTAGE) 
{ 

for(j in arrayOfInvoicesSTAGE2) 
{ 

    if (i == j) 
    { 
     log.info outerCount+" FOUND "+arrayOfInvoicesSTAGE[outerCount] + " in both responses" 
     log.info "STAGE: "+i+" STAGE2: "+j 
    }  
} 
outerCount++ 
} 

也!爲了獎金豎起大拇指!任何人都可以告訴我我是如何打破內部循環,以便一旦找到匹配就跳出來?我已經看到了JS代碼,允許這樣做,但couln't得到類似的工作在groovy

事實上,上述是最臭的代碼...但我必須以某種方式潤滑關節..這是已經很久了! :)

一如既往,任何提示都表示讚賞。

回答

0
def a = ["1thing","2thing","3thing"] 
def b = ["1thing","2thing","3thing","4thing"] 

// should return any element not in both lists 
if (a.size < b.size) { 
    b - a 
} else { 
    a - b 
} 
+0

如果'a'是'[1,2,3,4,5]'和'b'是'[2,3,6]'',我不認爲這會起作用。 – 2010-10-27 08:12:11

1

列表有在Groovy

def a = [ 1, 2, 3, 4, 5 ] 
def b = [ 2, 3, 6 ] 


a.intersect(b).each { item -> 
    log.info "Found $item in both responses" 
} 

的交叉方法我認爲,你想要做什麼?

相關問題