课程咨询: 400-996-5531 / 投诉建议: 400-111-8989

认识达内从这里开始

认真做教育 专心促就业

山东it培训:web spring boot 测试
  • 发布:山东it培训
  • 来源:山东it培训
  • 时间:2018-04-25 13:31
    大家好,今天为大家介绍一下springboot在web中的测试,希望大家喜欢
    第一步:配置依赖工程
    Gradle中需要以下testCompile依赖:

    testCompile(“org.springframework.security:spring-security-test”)

山东it培训

    Maven中,则添加以下依赖:
    <dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-test</artifactId>
    <scope>test</scope>
    </dependency>
    第二步:创建MockMvc实例
    应用程序的Classpath里有了Spring Security的测试模块之后,只需在创建MockMvc实例时运用Spring Security的配置器。
    @Before
    public void setupMockMvc() {
    mockMvc = MockMvcBuilders
    .webAppContextSetup(webContext)
    .apply(springSecurity())
    .build();
    }
    springSecurity()方法返回了一个Mock MVC配置器,为Mock MVC开启了Spring Security支持。只需像上面这样运用就行了,Spring Security会介入MockMvc上执行的每个请求。具体的安全配置取决于你如何配置Spring Security(或者Spring Boot如何自动配置Spring Security)。springSecurity()方法是SecurityMockMvcConfigurers的一个静态方法,考虑到可读性,我已经将其静态导入。
    第三步:编写身份安全校验逻辑
    开启了Spring Security之后,在请求主页的时候,我们便不能只期待HTTP 200响应。如果请求未经身份验证,我们应该期待重定向到登录页面:
    @Test
    public void homePage_unauthenticatedUser() throws Exception {
    mockMvc.perform(get(“/”))
    .andExpect(status()。is3xxRedirection())
    .andExpect(header()。string(“Location”,
    “http://localhost/login”));
    }
    不过,经过身份验证的请求又该如何发起呢?Spring Security提供了两个注解。
    @WithMockUser:加载安全上下文,其中包含一个UserDetails,使用了给定的用户名、密码和授权。
    @WithUserDetails:根据给定的用户名查找UserDetails对象,加载安全上下文。
    在这两种情况下,Spring Security的安全上下文都会加载一个UserDetails对象,添加了该注解的测试方法在运行过程中都会使用该对象。@WithMockUser注解是两者里比较基础的那个,许显式声明一个UserDetails,并加载到安全上下文。
    @Test
    @WithMockUser(username=“craig”,password=“password”,roles=“READER”)
    public void homePage_authenticatedUser() throws Exception {
    …
    }
    如你所见,@WithMockUser绕过了对UserDetails对象的正常查询,用给定的值创建了一个UserDetails对象取而代之。在简单的测试里,这就够用了。但我们的测试需要Reader(实现了UserDetails ) 而非@WithMockUser 创建的通用UserDetails .为此, 我们需要@WithUserDetails.@WithUserDetails注解使用事先配置好的UserDetailsService来加载UserDetails对象。代码如下:
    @Test
    @WithUserDetails(“craig”)
    public void homePage_authenticatedUser() throws Exception {
    Reader expectedReader = new Reader();
    expectedReader.setUsername(“craig”);
    expectedReader.setPassword(“password”);
    expectedReader.setFullname(“Craig Walls”);
    mockMvc.perform(get(“/”))
    .andExpect(status()。isOk())
    .andExpect(view()。name(“readingList”))
    .andExpect(model()。attribute(“reader”,
    samePropertyValuesAs(expectedReader)))
    .andExpect(model()。attribute(“books”, hasSize(0)))
    }
    我们通过@WithUserDetails注解声明要在测试方法执行过程中向安全上下文里加载craig用户。Reader会放入模型,该测试方法先创建了一个期望的Reader对象,后续可以用来进行比较。山东it培训告诉我们,随后GET请求发起,也有了针对视图名和模型内容的断言,其中包括名为reader的模型属性。同样,此处没有启动Servlet容器来运行这些测试,Spring的Mock MVC取代了实际的Servlet容器。这样做的好处是测试方法运行相对较快。因为不需要等待服务器启动,而且不需要打开Web浏览器发送表单,所以测试比较简单快捷。不过,这并不是一个完整的测试。它比直接调用控制器方法要好,但它并没有真的在Web浏览器里执行应用程序,验证呈现出的视图。为此,我们需要启动一个真正的Web服务器,用真实浏览器来访问它。让我们来看看Spring Boot如何启动一个真实的Web服务器来帮助测试。
    希望对您有所帮助

更多山东it培训相关资讯,请扫描下方二维码

山东it培训

<  上一篇:山东it培训:web工程师应该怎么做
下一篇:山东it培训:javaweb框架  >
相关推荐
最新资讯
免费试听课程
  • 全部课程
  • IT课程
  • 设计课程
  • 运营课程
Free courses
最新开班时间
  • 北京
  • 上海
  • 广州
  • 深圳
  • 南京
  • 成都
  • 武汉
  • 西安
  • 青岛
  • 天津
  • 杭州
  • 重庆
  • 哈尔滨
  • 济南
  • 沈阳
  • 合肥
  • 郑州
  • 长春
  • 苏州
  • 长沙
  • 昆明
  • 太原
  • 无锡
  • 石家庄
  • 南宁
  • 佛山
  • 珠海
  • 宁波
  • 保定
  • 呼和浩特
  • 洛阳
  • 烟台
  • 运城
  • 潍坊
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 人工智能工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 数据分析与商业智能
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 数据分析与商业智能
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 5月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 5月29日
    • 火热抢座中
    • 立即咨询
预约申请试听课
收起