我想要一个简单的模拟,当用给定的参数调用时表现一种方式,而另一种情况下调用其他所有方式。mockito - 如何为不同的参数嘲笑不同的行为
我试过这个变化:
when(this.mockWebElement.findElement(not(eq(By.xpath("./td[1]"))))).thenReturn(this.mockWebElement);
when(this.mockWebElement.getText()).thenReturn("someString");
when(this.mockWebElement.findElement(By.xpath("./td[1]"))).thenReturn(dateMockElement);
when(dateMockElement.getText()).thenReturn("8/1/2014", "7/1/2014", "6/1/2014", "5/1/2014");
至getText(By.xpath("./td[1]"))
调用总是返回"someString"
。我也试过and(eq(any(By.class)), not(eq(By.xpath("./td[1]")))
。
你的“not()”方法来自哪里?这并不出现在我熟悉的作为有效匹配器的任何版本的Mockito中。 – 2014-12-05 19:56:11
http://mockito.github.io/mockito/docs/current/org/mockito/AdditionalMatchers.html – jordanpg 2014-12-05 19:57:25