junit相关内容

如何使用 Mockito 在模拟上显示所有调用

我有一个失败的单元测试,我不确定原因.我希望能够看到在被测系统中发生的模拟上的所有调用.这不是我想要的所有测试的行为,只是我需要快速调整以找出问题所在的测试. 但是,这似乎有点像 hack.是否可以在 Mockito 中本地执行此操作,而无需使用 Thread.currentThread().getStackTrace()? 这不是首选,因为堆栈跟踪包括 Mockito 内部使用的所有 ..
发布时间:2022-01-14 13:13:57 Java开发

Mockito - 如何验证从未调用过模拟

我正在寻找一种使用 Mockito 验证的方法,即在测试期间与给定的模拟没有任何交互.对于具有验证模式 never() 的给定方法,很容易实现这一点,但我还没有找到完整模拟的解决方案. 我真正想要实现的目标:在测试中验证,没有任何东西打印到控制台.jUnit 的总体思路是这样的: private PrintStream systemOut;@前公共无效设置(){//监视 System.ou ..
发布时间:2022-01-14 13:13:46 Java开发

Mockito - 注入模拟列表

我有以下代码: @Component公共类包装器{@资源私人名单策略;公共字符串 getName(字符串 id){//这个声明的相关部分是我想迭代“策略"返回策略.stream().filter(策略->策略.isApplicable(id)).findFirst().get().getAmount(id);}} @Component公共类 StrategyA 实现 Strategy{ ..
发布时间:2022-01-14 13:12:34 Java开发

如何解决不必要的存根异常

我的代码如下, @RunWith(MockitoJUnitRunner.class)公共类 MyClass {私有静态最终字符串代码=“测试";@嘲笑私人 MyClassDAO 道;@InjectMocks私有 MyClassService 服务 = new MyClassServiceImpl();@测试公共无效 testDoSearch() 抛出异常 {最终字符串 METHOD_NAME = ..
发布时间:2022-01-14 13:09:26 Java开发

莫基托.验证方法参数

我用谷歌搜索过这个,但没有找到任何相关的东西.我有这样的东西: 对象 obj = getObject();Mockeable 模拟= Mockito.mock(Mockeable.class);Mockito.when(mock.mymethod(obj)).thenReturn(null);Testeable testableObj = new Testeable();testableObj. ..
发布时间:2022-01-14 13:08:12 Java开发

使用 PowerMockito 模拟 getClass 方法

我想避免模拟类的 getClass() 方法,但似乎找不到任何解决方法.我正在尝试测试一个将 HashMap 中的对象类类型存储到稍后使用的特定方法的类.一个简单的例子是: 公共类 ClassToTest {/** 在构造函数期间将用对象填充的映射 */私有映射,方法>map = new HashMap, Method>();类测试(){/* 遍历 ClassToTe ..
发布时间:2022-01-14 13:05:21 Java开发

可变参数数组是否有 Mockito eq 匹配器?

我在尝试匹配作为参数传递给接收可变参数数组的方法的数组时遇到问题. 其他问题/答案中提到的 anyVararg() 匹配器对我不起作用,因为我想确保提供的数组是我需要的. 我将问题简化为这个更容易理解和抽象问题的示例(我真正的问题是生产代码并且具有业务逻辑,因此对于这个问题的目的来说它会令人困惑): @RunWith(MockitoJUnitRunner.class)公共类 Unit ..
发布时间:2022-01-14 13:05:12 Java开发

Mockito 监视正在单元测试的对象

监视正在单元测试的对象是否是代码异味?例如,假设我有一个 LineCounter 类,其工作是简单地计算字符串中的行数.-- class LineCounter {公共 int getNumLines(字符串字符串){字符串元数据 = getStringMetadata(string);//计算文件中的行数返回数行;}/** 昂贵的操作 */受保护的字符串 getStringMetadata(字 ..
发布时间:2022-01-14 13:04:54 Java开发

Mockito 绕过静态方法进行测试

我需要使用 Mockito 测试 handleIn() 方法. 但是代码需要调用这个遗留代码 Util.getContextPDO 这是一个静态方法. 请注意,在测试环境中,这个 Util.getContextPDO 总是返回异常,我打算通过总是返回一个虚拟 IPDO 来绕过这个 Util.getContextPDO(). 公共类 MyClass {公共 IPDO getIPDO() ..
发布时间:2022-01-14 13:03:59 Java开发

Mockito 模拟所有方法调用并返回

我在使用 mock 编写单元测试时遇到问题.有一个我需要模拟的对象有很多吸气剂,我在代码中调用它们.但是,这些不是我的单元测试的目的.那么,有没有一种方法可以模拟所有方法,而不是一个一个地模拟它们. 下面是代码示例: 公共类 ObjectNeedToMock{私有字符串字段1;...私有字符串字段20;私有 int theImportantInt;public String getFiel ..
发布时间:2022-01-14 13:03:38 Java开发

使用 PowerMock 模拟私有方法,但仍会调用底层方法

我正在尝试模拟一个进行 JNDI 调用的私有方法.当从单元测试中调用该方法时,它会引发异常^.我想模拟该方法以进行测试.我使用了 来自另一个问题的示例代码回答,当测试通过时,似乎仍然调用了底层方法.我在 doTheGamble() 方法中插入了一个 System.err.println(),它被打印到我的控制台. 很有趣,如果我注释掉第一个 assertThat,测试就通过了.?:( ..
发布时间:2022-01-14 13:00:00 Java开发

何时使用 Mockito.verify()?

我为 3 个目的编写 jUnit 测试用例: 为了确保我的代码在所有(或大部分)输入组合/值下满足所有必需的功能. 为了确保我可以更改实现,并依靠 JUnit 测试用例告诉我我的所有功能仍然得到满足. 作为我的代码处理的所有用例的文档,并充当重构规范 - 如果代码需要重写.(重构代码,如果我的 jUnit 测试失败 - 你可能错过了一些用例). 我不明白为什么或何时应该使用 Moc ..
发布时间:2022-01-14 12:58:26 Java开发

在不运行 Tomcat 的情况下进行 RestAssured 测试

我有需要测试的 REST Web 服务.我使用 Mockito 来模拟 DAO 类,使用 RestAssured 来通过 URI 测试 REST 方法.有什么方法可以在不与 Tomcat 单独运行的情况下测试 REST 服务?或者如何在测试用例之前使用模拟类在 Tomcat 上运行应用程序? 解决方案 有一个教程告诉你如何使用 maven 来启动一个嵌入式的 tomcat 实例并使用 Re ..
发布时间:2022-01-14 12:57:37 其他开发

如何在 Android 项目的 Java 模块上使用 Mockito 2 模拟最终类?

我有一个 Android Clean Architecture 项目用 Kotlin 编写,包含 3 个模块: 数据(Android 库) domaine(Java 库) 演示文稿(Android 应用程序) 这 3 个模块每个都有用 junit 编写的单元测试.但是对于 Kotlin,默认情况下每个类都是 final 的.我很快就遇到了问题:如何使用 mockito 模拟 fin ..
发布时间:2022-01-14 12:57:01 Java开发