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

Can@WebMvcTest有两个控制器

荆乐
2023-03-14

我试图测试两个不同的控制器类,因为我想测试两个类中的每个方法,我将使用@WebMvcTest,我的问题是有一种方法可以将模拟注入到两个类中,可能是这样的?

@WebMvcTest(HomeController.class , BookController.class)
public class ControllerTest{

当然,这会产生错误,所以这是否意味着当使用@WebMvcTest时,我们只能在一个控制器中测试方法?每班

共有1个答案

裴威
2023-03-14

@WebMvcTest接受

public @interface WebMvcTest {
  ...
    @AliasFor("controllers")
    Class<?>[] value() default {};
  ...
}

传递单个值(仅因为它是注释才可能)或数组是合法的
您的问题是没有使用正确的语法来声明文字数组
试试:

@WebMvcTest({HomeController.class, BookController.class})
public class ControllerTest{

请注意,通过使用@WebMvcTest注释测试类,而不在注释声明中对任何参数赋值:

@WebMvcTest
public class ControllerTest{

所有Spring控制器都添加在Spring上下文中。

 类似资料:
  • 我正在制作一个带有一个控制器“项目”的站点,我想显示所有带有to路由的项目: /管理员/项目/:id=/admin/projects/1(工作) 我试过这个 我的文件: 路线。铷 项目管理器。铷 前端控制器。铷 在项目/index.html.erb 我已经检查了所有类似的问题。 谢谢你的帮助! Kazei设计 最新消息 :

  • 问题内容: 我对Controllers and Views(fxml)进行了结构化,以尽可能地分隔我的代码,我想知道如何在2个控制器之间进行通信。我的意思是,一个控制器必须调用另一个控制器的某些功能才能将其设置为最新状态。 我认为我当前结构的模式将更加明确: 控制器1 / \ fx:include fx:include / \ Controller2 Controller3 每个控制器都有自己的f

  • 我做了一个控制器和视图(fxml)的结构来尽可能地分离我的代码,我想知道如何在两个控制器之间进行通信。我的意思是,一个控制器必须调用另一个控制器的一些函数来设置它是最新的。 我认为我当前结构的一个图式会更明确: 精确度: 我在此基础上开发了我的应用程序:http://www.zenjava.com/2011/10/25/views-intern-views-controllers-intern-c

  • 我在我的控制器类中有一个动作,我想要如下两条不同的路线: 原因是我想给一些用户提供路由访问,但用户角色不同。 假设: 具有角色的用户可以访问 具有< code >用户角色的用户可以访问< code >用户选择日期 问题是是否有可能为一个动作有两个不同的路线?或者我为不同的路线复制了代码?

  • 我需要在主控制器中绑定来自不同fxml的控件。我有3个fxml文件,分别名为MainView.fxml、ChildView1.fxml和ChildView2.fxml。 mainview.fxml ChildView1.fxml 默认情况下,从ChildView1Controller禁用button1。 我希望在我的另一个视图(ChildView2.fxml)中的表行被选中时启用它。同样,在取消选

  • 这是一个spring boot 2.0.6应用程序,使用一个MVC控制器,使用@PreAuthorize和#oauth2。hasScope来保护控制器endpoint。我使用@WebMvcTest编写了控制器测试。然而,当正在被调用,它没有给出一个可以与某个地方进行比较的值。我怎么了? 例外 考试班 身份验证配置 控制器 Spring Security调试输出 关于我在设置中缺少的任何帮助都会非常