当前位置: 首页 > 知识库问答 >
问题:

为Spring Boot模块创建Mockito测试用例

匡安宜
2023-03-14
Mainproject
-web
-model
-repository
-service

我已经为web创建了mockito测试用例。我应该如何为服务层创建mockito测试用例。

我不能使用任何autowire,因为我没有应用程序上下文。它给了我错误:

package service;

import static org.junit.jupiter.api.Assertions.assertTrue;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.junit.jupiter.MockitoExtension;

@ExtendWith(MockitoExtension.class)
public class ProvidrsServiceTest {
    
    @Autowire
    config config;

}

其次,我有这个配置bean

class config{

@value
@value
@value..

}

你能告诉我应该如何构造mockito测试类吗?如果我把所有的测试类放在web层,我就可以得到上下文。

共有1个答案

胡星汉
2023-03-14

您的服务层应该独立于您的框架。因此,您可能需要重构代码,以从服务中删除所有框架依赖项。

完成后,您可以在调用服务/存储库上使用org.mockito.mock注释来创建它们的模拟。

如果您的配置已经独立于框架,那么您也可以模拟它。

 类似资料:
  • 考虑一个maven实用工具模块(模块1),它定义了一个抽象类:AbstractFoo.java。在测试资源下,编写了所述类的模型:foomockup.java。还编写了一个测试类:AbstractFootest.java。 现在考虑第二个模块(模块2),它包含一个使用AbstractFoo的类,并声明测试用例:bar.java和bartest.java。java在创建Bar实例的同时创建FooMo

  • 环境类 SpringBoot 2,H2作为测试依赖项。 生产厂 Jar被部署到云上。DB2服务配置了驱动程序和连接细节,并自动绑定到java应用程序。jar本身没有配置。这就是应用程序。属性文件,但它是空的。这部分工作正常,我希望有一个解决方案存在,它将不需要我创建属性文件和配置文件。 “未找到架构xxx”上的本地单元测试崩溃 不存在数据源配置。 SpringBoot看到H2依赖,并默认选择Hib

  • MLoginActivityView.LoginError();->在id.teste.supervisor.presenters.login.loginActivityPresenter$tryLogin$Disposable$5.accept(loginActivitypresenter.kt:25) MLoginActivityView.HideProgressDialog();->在id.

  • 我正在对正在开发的应用程序进行模块化,自从将仪器测试拆分为应用程序模块以来,我的覆盖率下降了20%以上。 该应用程序被拆分为,,,其中是Android库,其他2个模块是应用程序。该应用程序的大多数功能将存在于中,目前主要通过现在驻留在应用程序中的检测测试。 有没有办法让应用程序模块中的检测测试生成包含库模块源的覆盖率报告? 我在这里看了这个问题,它与我的困境有很大的相似之处,但这似乎已经过时了已被

  • 在我们前面的例子中,我们开始看到了。 我们的根模块有一个组件,一个管道和一个服务,其唯一的目的是处理信用卡。 如果我们将这三个元素提取到自己的功能模块,然后将它们导入我们的根模块怎么办? 我们将这样做。第一步是创建两个文件夹以区分属于根模块的元素和属于要素模块的元素。 注意每个模块文件夹下的模块文件: app.module.ts 和 credit-card.module.ts.。让我们先关注后者。

  • 如果你已经有一个项目,你想在这个项目中创建一个 Module ,你可以选择 File --> New Module 。 这样,会在当前的目录下创建一个 Module ,而不是在一个新的窗口中,单独创建 Project 和 Module 。 之后,你就会看到下面的界面。 同样的道理,你可以设置项目类型,但是,由于你现在是创建一个 Module ,所以只能选择一种类型。 下方的4个选项代表着不同的意义