2013-03-08 58 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