2013-03-08 129 views
0

有沒有辦法讓我看到一種方法的工作原理?java中的隱藏方法和類(Robotium)

public void testAddNote() throws Exception { 
    solo.clickOnMenuItem("Add note"); 
    //Assert that NoteEditor activity is opened 
    solo.assertCurrentActivity("Expected NoteEditor activity", "NoteEditor"); 
    //In text field 0, add Note 1 
    solo.enterText(0, "Note 1"); 
    solo.goBack(); 

有沒有一種方法,我可以看到的goBack()方法的源代碼? new Solo()被宣佈。有沒有辦法看到Solo班?它隱藏在哪裏? 非常感謝。

回答

1

的Java並沒有真正有任何魔法。 「獨奏」必須在班級中的某個地方宣佈。如果您按住Ctrl單擊獨立,Eclipse應該能夠找到它。也許有些插件將它從你身上隱藏起來?如果您查看原始.java文件,它必須位於該文件中,可能是您正在處理的類的成員 - 在類定義附近尋找它,或者只是在整個文件中進行文本搜索(我不介意不知道你是如何看待這種方法的,但只有一種方法不足以使任何工作成爲可能)。

一旦你找到對象「獨奏」的類型,你可以找到關於這種類型 - 最糟糕的情況就是谷歌它。

+0

在這裏,當我編碼Java時,我一直在想我是哈利波特。你毀了我:-( – Thihara 2013-03-08 03:03:30

+1

如果你想要魔法,試試Ruby(或者Groovy,如果你擅長java) - 它並不是全部消失。 – 2013-03-08 05:24:32

2

這取決於存儲在字段solo中的類是否在您的項目中或開源項目中。如果它來自專有庫,您可能無法看到它的代碼。

Java不是一種解釋型語言,它是一種編譯語言(至少編譯成字節碼)。如果這個類來自一個jar文件,你可能需要在Web上自己找到源代碼。

http://mvnrepository.com/

對跟蹤的jar文件一個很好的資源,以及它們相應的源代碼的jar文件。

而且我猜它持有Robotium類,所以你也可以看這裏:

http://code.google.com/p/robotium/wiki/Source?tm=4

也許正是這樣的課嗎? (或它的一個子類?)

https://github.com/jayway/robotium/blob/master/robotium-solo/src/main/java/com/jayway/android/robotium/solo/Solo.java#L691