【发布时间】:2014-12-05 19:17:11
【问题描述】:
我希望一个简单的模拟在使用给定参数调用时以一种方式运行,而在使用其他所有参数调用时以另一种方式运行。
我已经尝试过这方面的变化:
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 中作为有效匹配器。
标签: java unit-testing mocking mockito