问题标签 [mockito-inline]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unit-testing - android,带有 kotlin 代码的库,在单元测试中使用什么:mockito-inline、mockito-kotlin、mock
拥有将从 java 代码转换为 kotlin 的 android 库项目。
它使用 mockito-all 和 powermock 进行了大量的单元测试和覆盖测试
现在想删除 powermock 并且似乎 mockito-inline 可以用于测试 kotlin 代码和静态成员,但是还有另一个 mockito-kotlin 和 mocki。
看到一些项目使用
kotlin 的推荐依赖项是什么,仅使用 mockito-inline 是否足够好,或者它也应该使用 mockito-kotlin?还是使用 mockito-inline 和 mockk?
unit-testing - mockito,如何模拟作为容器类成员的类
使用 mockito-inline 如何测试静态函数(使用存根其他静态函数),或模拟/存根一些内部依赖类?
这是示例:
有一个class Util
which 内部取决于java.security.MessageDigest
并且容器类有几个静态函数需要测试
想测试Utils.generateId(@NonNull String s)
带有存根getStringDigest()
返回 null,以便 sometext 预期返回。
因为它是静态函数,所以用 powermock 进行了测试。
使用模拟存根,返回何时Util.getStringDigest()
被调用null
。它工作得很好。
现在 mockito-inline 支持测试静态函数(并且在测试 kotlin 等时与 powermockito2 混合存在问题),因此删除了 powermock。
尝试使用 mockito-inline 3.8.0
得到错误:
Util.generateId(sometext)
回报null
(不是)sometext
。
使用时assertEquals(sometext, sutilMoc.generateId(sometext));
无法编译并说无法解析generateId()
.
如何使用 mockito-inline 测试静态函数?
或者,如果有办法模拟/存根依赖abstract class MessageDigest
的存根digest()
返回 null,但不知道这是否可能?
java - 通过 testng 和 mockito-inline 调试时无法在断点处停止(在被测方法上)
我使用 TestNG、Mockito-inline(模拟静态)编写了一个测试用例来测试我的服务(具有被测方法 - MUT)。我的问题是:当我在 MUT 设置断点时,Eclipse 的光标无法在这些断点处停止。如果在测试代码处设置断点,光标会停止并正确突出显示。
我试图回到 Mockito-core(但不能再使用 Mockito-static,相同的版本 3.11.2)然后每个断点(在测试代码和我的服务中)都可以正常工作。
这是详细信息:
一个测试用例:这个测试文件的断点工作正常
我的服务代码:另一个文件(myService)有很多方法(这些方法——myMethodUnderTest调用静态方法myClass.get(int value))
这是我的详细环境:Ubuntu 20.04、Eclipse 2018-12、Java 1.8、Spring 5.1.9、TestNG 7.4.0、Mockito 3.11.2(核心和内联)
我尝试使用 Mockito-inline 3.8.0 但同样的问题。
当我逐步调试(F5,F6)时,Eclipse'cursor 在被测方法中运行时也不正确(仍然突出显示一行但逻辑错误)(在测试代码中运行时仍然正确)。
任何人都可以帮助解决这个问题,使用 Mockito-inline 逐步正确地运行调试。
非常感谢
java - 无法在 Junit5 Mockito-inline 中以不同的行为模拟同一个类构造函数两次
我有一个 Java SE 项目,我需要为“服务”类添加一个单元测试。
我需要两次模拟对象“Source”的创建,每次方法“getData()”都会返回一个不同的列表。(对于第一个对象列表“accountList”和第二个对象列表“hardwareList”)
我试过:用 Source< Account.class>, Source< Hardware.class> 两次添加 MockedConstruction< Source> construction = Mockito 但它不起作用
有没有办法在 try 块中定义同一个类的两个不同的构造函数行为?
java - 使用 mockito-inline MockedConstruction 来模拟 FileInputStream 抛出无法初始化模拟构造
我正在尝试摆脱并用新功能Mocking object constructionPowerMock
替换它,因为我无法重构旧的源代码。mockito-inline
我的测试课程之一是模拟FileInputStream
,被测课程FileViewer
使用 powermock 的原始单元测试是
我试图按照示例Mock Java Constructors With Mockito | 配置和示例 ,并使用 MockedConstruction 创建一个新的单元测试,如下所示
但我得到了以下异常
关于异常原因或如何使其工作或任何替代方法的任何想法?
java - mockito-inline 可以模拟私有方法吗?
我知道 Mockito (mockito-core) 不能模拟私有、静态和最终方法,但我发现 mockito-inline 可以模拟静态和最终方法。但我找不到它是否可以模拟私有方法。如果可能的话,有人可以提供一个例子。
PS我知道嘲笑私有方法不是一个好习惯。我也知道 PowerMock 可用于模拟私有方法。
java - InjectMocks 对象上的 Mockito mockStatic
我正在使用 Mockito 3.6 来利用他们的 mockStatic 方法。我在模拟一个也是用于测试的主类的类时遇到问题。
这是我的测试课
由于MainClass
使用的是mockStatic和injectMock,所以调用buildURI
的时候总是返回null,这在创建HttpRequest的时候是不能接受的。
编辑:为了澄清我的问题,我从环境变量中获取主机和端口,运行此测试时将为空,并且调用new URI()
不允许空值。
android - Mockito-inline 在 RandomAccesFile 上抛出 Stream closed 异常
我的测试代码中有以下几行
像这样的依赖
并得到
这个错误。我尝试了几件事,但没有成功。删除 mockito-inline 不是一种选择,因为有很多测试模拟最终类。有什么可能的解决方案我可以尝试使这件事起作用吗?
exception - 如何使用 mockito-inline 模拟抛出 IOException 的构造函数?
我如何模拟下一行:
我正在尝试这样的事情,但没有用。
运行测试时出现异常:
有什么想法吗?谢谢,