1

我开始使用 Mockito,但是当我调用像 when(); 这样的方法时 Eclipse 没有向我显示导入类选项,所以,我想知道 Eclipse 是否有办法搜索 jar 中的方法并知道我可以导入哪些方法。

我知道在 Delphi 中我们可以找到,键入过程或函数,IDE 会告诉你正确的单元放置......

那么我该怎么做呢?

4

3 回答 3

4

您可以将 Mockito 和 Matchers 添加到您的“内容辅助收藏夹”中,这样​​它们甚至会在您将类导入源文件之前显示出来,只要您已将 Mockito 作为库添加到您的项目中。

Eclipse 内容辅助

  1. 转到Window > Preferences并导航到Java > Editor > Content Assist > Favorites
  2. 单击“新建类型...”按钮并添加org.mockito.Mockito.
  3. 对 .做同样的事情org.mockito.Matchers。Mockito 类实际上扩展了 Matchers 以访问其静态方法,例如anyand eq,但 Eclipse 不喜欢自动显示这些方法。

要对其进行测试,请尝试在新文件中键入“wh”并按 Ctrl-Space。应该出现一个完成when();使用 Enter 选择它会自动导入Mockito.when()到您的静态导入中。

于 2013-04-15T22:44:32.837 回答
2

只需手动添加import static org.mockito.Mockito.*;到文件的顶部。Eclipse 可以很容易地找到类,但我想它不会在类中搜索静态方法。

无需自己粘贴即可获得导入的一种方法是键入Mockito.when. 我相信应该有一个静态导入方法的选项。

于 2013-04-15T16:51:07.507 回答
1

确保 Mockito jar 实际上在您的构建路径中。

when() 方法是 Mockito 对象的静态方法。我不是 100% 确定,但我认为你不能只写“when()”,因为 Eclipse 不会知道你在说什么,因为导入的东西是基于导入类的。所以通常你会做一些像 new ArrayList 这样的事情,然后 Eclipse 知道你想要导入 ArrayList,但是当你只是键入 when() 时,Eclipse 不知道你想要导入一个带有 when() 作为静态方法的类。

要以您想要的方式使用 when 您将需要在使用 Mockito 的每个单元测试的顶部执行此操作。

import static org.mockito.Mockito.*;

http://mockito.googlecode.com/svn/branches/1.6/javadoc/org/mockito/Mockito.html#when(T)

于 2013-04-15T16:56:20.297 回答