我正在尝试使用Mockito测试一些旧代码。
我想存根FooDao
用于生产的a如下:
foo = fooDao.getBar(new Bazoo());
我可以写:
when(fooDao.getBar(new Bazoo())).thenReturn(myFoo);
但是明显的问题是,getBar()
从来没有使用与Bazoo
我存根方法相同的对象来调用它。(请该new
运算符!)
如果我可以以不myFoo
考虑参数的方式返回该方法的方法来对它进行存根,我将非常喜欢。失败的话,我会听取其他解决方法的建议,但我真的想避免更改生产代码,直到有合理的测试范围为止。
when(
fooDao.getBar(
any(Bazoo.class)
)
).thenReturn(myFoo);
或(避免null
s):
when(
fooDao.getBar(
(Bazoo)notNull()
)
).thenReturn(myFoo);
不要忘记导入匹配器(有许多其他匹配器可用):
对于Mockito 2.1.0及更高版本:
import static org.mockito.ArgumentMatchers.*;
对于旧版本:
import static org.mockito.Matchers.*;
我正在编写一个从站点中抓取信息的python代码,但我必须首先去掉一些cookies弹出窗口。要单击右侧按钮,我需要它们的XPath(据我所知)。问题是XPath的一部分每次都发生变化,我不知道如何找到它们,因为它们实际上没有任何属性,比如ID之类的。 这是按钮的HTML: 这是我现在使用的命令: 这是XPath: 变量每次都变,所以我改变了14。
问题内容: 我有一个类是SUT,一个类是它的合作者。电话上以“ ”作为参数。然后,将为此添加更多元素,以使其状态与调用时的状态不同。这是我的测试用例。 请注意,协作者实际上是一个间谍对象,而不是模拟对象。该测试用例将失败,因为即使使用等于的参数调用了该测试用例,也因为它被修改了,并且其当前值不再等于。但是,这是应该工作的方式,所以我想知道是否有一种方法可以让Mockito在调用方法时存储参数快照,
我有一个带有私有方法的类,该方法调用一些外部类并执行它,如果不使用powermock,我如何防止这种情况发生?(该项目使用Junit5,目前还不支持powermock)。 我考虑过将这些函数移到外面,但我觉得有时方法确实属于特定的类,因为它们是它的一部分,将它们移出对我来说没有意义,下面只是一个例子来说明。 我已经知道大多数人会说不要测试私有方法,但a.我不完全同意,b.我不想在这里测试这个方法,
问题内容: 我发现进行辅助查询来检查更多结果以显示 更多加载 按钮是非常不专业的。 我正在使用PDO,有什么方法可以在没有限制过滤器的情况下获得找到的总行数,但仍在过滤结果? 当前代码: 问题答案: 仅MySQL AFAIK: 当然,对于数据库服务器而言,查询一次就像查询所有记录一样繁重。对于非MySQL使用,此查询当然比获取 所有 记录的行数更好:
我想持有模板类的。但是,我不想将类B也作为模板类。在我的理解中,任何类型的shared_ptr都将具有相同的内存布局。所以我想知道在这种情况下有什么变通办法吗?
我有一个contenteditable div,用户可以在其中输入文本。我希望文本自动换行,但不像默认的空格或连字符,而是像这样: 我如何才能实现这一点?