草庐IT

mockito-all

全部标签

java - FileInputStream 和 FileOutputStream 到同一个文件 : Is a read() guaranteed to see all write()s that "happened before"?

我正在使用一个文件作为大数据的缓存。一个线程顺序写入它,另一个线程顺序读取它。我能否确定在一个线程中(通过write())写入的所有数据都可以从另一个线程中被read(),假设适当的“在Java内存模型方面发生“之前”的关系?这种行为是否记录在案?在我的JDK中,FileOutputStream没有覆盖flush(),OutputStream.flush()是空的。这就是为什么我想知道...有问题的流完全由我完全控制的类拥有。每个流都保证只能由一个线程访问。我的测试表明它按预期工作,但我仍然想知道这是否得到保证和记录。另见thisrelateddiscussion.

java - mockito 中的动态链接 "thenReturn"

我有一个Tuple模拟类,它的getString(0)和getString(1)方法预计会被调用n次。而不是写类似的东西,when(tuple.getString(0)).thenReturn(logEntries[0]).thenReturn(logEntries[1])...thenReturn(logEntries[n-1])我手动尝试了以下操作:OngoingStubbingstubbingGetStringZero=when(tuple.getString(0)).thenReturn(serviceRequestKey);OngoingStubbingstubbingGet

java - Mockito Matchers.any(...) 仅在一个参数上

我想这样做:verify(function,Mockito.times(1)).doSomething(argument1,Matchers.any(Argument2.class));其中argument1是类型Argument1的特定实例,argument2是类型Argument2的任何实例。但是我得到一个错误:org.mockito.exceptions.misusing.InvalidUseOfMatchersException:Invaliduseofargumentmatchers!2matchersexpected,1recorded.Thisexceptionmayoc

java - Mockito 如何处理 thenReturn block 中具有多个参数的重叠匹配器

我有一段测试代码试图在一般情况下在后续调用中返回两个值,但在特定情况下仅返回与该情况关联的值。代码看起来像这样:when(mockObject.method(anyString())).thenReturn(string1,string2);when(mockObject.method(eq("expectedInput1"))).thenReturn(string1);when(mockObject.method(eq("expectedInput2"))).thenReturn(string2);预期的行为是在调用mockObject.method("foo")和mockObjec

java - 通过 Maven 的 PowerMockRunner 使用 Mockito 运行 Junit & PowerMock

我无法通过Maven运行Powermock。我是用于驱动jUnit测试的PowerMockMockito和PowerMockRunner。这是测试:@RunWith(PowerMockRunner.class)@PrepareForTest({UserLocalServiceUtil.class,ExpandoBridge.class})publicclassAlertNotificationsTest{//...我没有为运行测试配置任何特殊的东西。我的pom引用了以下部门:org.mockito|模拟所有|1.8.0联合|联机|4.6.0org.powermock.modules|p

java - 为什么我们不能使用 Mockito 为参数化构造函数创建 spy

我的代码中只有参数化构造函数,我需要通过它注入(inject)。我想监视参数化构造函数以注入(inject)模拟对象作为我的junit的依赖项。publicRegDao(){//originalobjectinstantiationhereNotification....EntryService.....}publicRegDao(Notificationnotification,EntryServiceentry){//initializehere}wehavesomethinglikebelow:RegDaodao=Mockito.spy(RegDao.class);但是我们有什么

Java 线程 : Should all shared variables be Volatile ?

这个问题在这里已经有了答案:Javavolatilemodifierandsynchronizedblocks(3个答案)关闭5年前。我想了解多线程在Java中是如何工作的。我了解Volatile和Synchronization之间的区别。Volatile与可见性有关,不保证同步。当我们使用多线程环境时,每个线程都会在它们正在处理的变量的本地缓存中创建自己的副本。更新此值时,更新首先发生在本地缓存副本中,而不是实际变量中。因此,其他线程不知道其他线程正在更改的值。这就是volatile发挥作用的地方。volatile字段会立即写入主内存,并从主内存进行读取。摘自ThinkingInJa

单元测试:Mockito测试框架中的方法详解

这里写目录标题第一章、模拟对象1.1)①mock()方法:1.2)②spy()方法:第二章、模拟对象行为2.1)模拟方法调用①when()方法2.2)模拟返回值②thenReturn(要返回的值)③doReturn()2.3)模拟并替换原方法的行为④thenAnswer()⑤doAnswer2.4)部分模拟时是否调用真实方法⑥thenCallRealMethod()⑦doCallRealMethod()2.5)模拟抛出异常⑧thenThrow()⑨doThrow()2.6)模拟构造函数和静态方法⑩模拟构造函数MockedConstruction⑩①模拟静态方法:MockedStatic2.7)

java - 如何使用 Mockito 部分模拟 HttpServletRequest

我正在模拟一个HttpServletRequest,在servlet调用中,请求中设置了新值,因为使用相同的请求,我们正在将请求分派(dispatch)给某些jsp,因此请求对象被用作servlet的输入对象以及下一页的输出。我模拟了所有输入参数,但是对于所有request.setAttribute(),我的代码什么都不做,因为它是一个模拟类,假设我有request.setAttribute(a,"10")System.out.println("a="+request.getAttribute("a"));我得到null因为我没有给Request.getAttribute("a")任何

java - 如何在 Mockito 中模拟 instanceof

我有一段代码,我想用Mockito测试:mockedClassinstanceofSampleInterfacemockedClass是模拟抽象类:MockedClass,SampleInterface是一个接口(interface)。这是失败点:Validate.isTrue(mockedClassinstanceofSampleInterface,"ThemockedClassisnotaSampleInterface");如何模拟这段代码? 最佳答案 听起来你需要MockSettings.extraInterfaces.Moc