2013-02-16 166 views
0

我正在學習Groovy在Soap UI中使用它。任何人都可以告訴我groovy的區別嗎?

我想知道[](),並在那裏將使用的基本區別。

[] - 我明白它是一個數組..

典型例如,

()用法:

def r = testRunner.testCase.testSuite.getTestCaseByName("Session").getTestStepByName("InvalidLoginAttempt").run(testRunner, context); 

[]用法:

def r = testRunner.testCase.testSuite.testCases["Login"].getTestStepByName("InvalidLoginAttempt").run(testRunner, context); 

回答

3

歡迎Groovy編程!

當在對象旁邊使用[]時,它會調用對象的基礎getAt()方法。

括號用來呼叫的方法,所以它可以是用於調用getAt方法。它因實施而異。

你可以把它看成是一個語法糖,所以你不必調用整個方法做。例如,在的ArrayList:

def list = [10, 20, 30, 40] 

assert list[2] == 30 
assert list.getAt(3) == 40 
assert list.get(0) == 10 

他們所有的工作,但[]符號較短。

我敢打賭,SoapUI :: TestCases getAt可能會調用getTestCaseByName,因此它們是同一操作的別名。

另外值得注意的:所述[],當分配給一個變量,創建一個ArrayList。當與等號(list[0] = 90)用它調用對象/收集的setAt()方法。

+0

其中使用[]和其中()將被使用? – ChanGan 2013-02-16 11:37:54

+0

你可以在對象和集合中使用'[]'來獲得更短的語法;你也可以使用'()'來調用這個方法,但那會稍微長一些。 '[]'在Groovy中通常更加習慣。 – Will 2013-02-16 12:24:13

+0

你必須確定底層庫支持兩者。你通常可以檢查soapui groovy文檔(http://stackoverflow.com/questions/6106336/soapui-groovy-api-documentation) – Will 2013-02-16 12:26:14

相關問題