junit

java后端开发三年!你还不了解Spring 依赖注入,凭什么给你涨薪

爱⌒轻易说出口 提交于 2020-07-27 13:57:36
前言 前两天和一个同学吃饭的时候同学跟我说了一件事,说他公司有个做了两年的人向他提出要涨薪资,他就顺口问了一个问题关于spring依赖注入的,那个要求涨薪的同学居然被问懵了。。。事后回家想了想这一块确实有点难度的就写篇文章把我自己知道的和网上整理的分享给大家,至少大家在被问到这一块的时候能答上来,不会因为这个被卡涨薪。话不多说,满满的干货都在下面了! 1.什么是Spring的依赖注入? 依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。这概念是说你不用创建对象,而只需要描述它如何被创建。你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把他们组装起来。 2. IOC的作用 降低程序间的耦合(依赖关系) 依赖关系的管理: 以后都交给spring来维护 在当前类需要用到其他类的对象,由spring为我们提供,我们只需要在配置文件中说明依赖关系的维护,就称之为依赖注入。 3.Spring依赖注入的几种方式 能注入的数据:有三类 基本类型和String。 其他bean类型(在配置文件中或者注解配置过的bean)。 复杂类型/集合类型。 注入的方式:有三种 使用构造函数提供。 使用set方法提供。 使用注解提供。 构造函数注入 顾名思义,就是使用类中的构造函数,给成员变量赋值。注意,赋值的操作不是我们自己做的

IDEA新手使用教程

谁说胖子不能爱 提交于 2020-07-27 08:32:34
一、IDEA IDEA 全称IntelliJ IDEA,是 java语言 开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、 J2EE 支持、 Ant 、 JUnit 、 CVS 整合、代码审查、 创新的 GUI设计 等方面的功能可以说是超常的。IDEA是JetBrains公司的产品。 作为一名合格的程序猿,对于开发工具的选择也是很重要的,虽然我们常用 eclipse、myeclipse等开发工具就能满足目前的开发需求,毕竟每个公司的要求不一样,对于IDEA,建议大家可以试着去使用,不论从哪方面都优于上面两种开发工具,唯一一点可能IDEA对电脑配置是由要求的,毕竟大公司都基本上在使用IDEA,不多说了,我们一步一步来,首先来说IDEA的下载和安装过程。 二、IDEA 的下载及安装 打开IDEA的官网,如:http://www.jetbrains.com/ 然后到了主界面,点击下载如图: 图1 我们这里下载zip的,将它下载到你要保存的目录下,其次解压。注意:(目录不能要中文和空格),我这里将它解压到F盘IDEA文件下: 图2 上图为解压后的IDEA文件夹,然后我们打开bin文件夹: 图3 我们可以看到2个IEDA应用程序,红色箭头指的是默认为32位的,这里给了我们选择,若你的系统为32位则选它,这里我用的是64位的

Spring 学习笔记

六月ゝ 毕业季﹏ 提交于 2020-07-27 05:56:51
简介 Spring 概述 ​ Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC (Inverse Of Control)控制反转 和 AOP (Aspect Oriented Programming)面向切面编程为内核,提供了展现层 Spring MVC 和持久层 Spring JDBC 以及业务层事务管理等技术,还能整合开源的第三方框架和类库,是使用最多的 Java EE 企业应用开源框架。 ​ 我们平常说的 Spring 指的是 Spring Framework,其为 Java 程序提供全面的基础架构支持,Spring 处理基础结构,使得我们可以专注于业务本身。是 非入侵 式框架(导入项目不会破坏原有项目代码) ​ Spring 之父:Rod Johnson Framework Modules 组成 ​ Spring Framework 由组成大约 20 个模块的 feature 组成,这些模块分为: Core Container 核心容器 Date Access/Integration 数据访问/整合 Web AOP (Aspect Oriented Programming) 面向切面编程 Instrumentation 检测 Messaging 消息 Test ​ IOC 导论 ​ 在面向对象编程中

开发管理模式

[亡魂溺海] 提交于 2020-07-26 23:59:12
最近意外发现JunitFactory这个关键字,于是便去研究了一下,研究发现后得到更有意义的发现。 首先我们大概讲一下什么是JunitFactory. JunitFactory 其实就是Junit's Factory.如果曾经是java的开发人员 应该大家都知道Junit 就是java的单元测试。他的功能是什么呢?其实主要是检查一个方法输入相关参数后得到的 结果是否是自己期望的。而且在以前的应用中,往往是开放人员根据参数预先心中算出结果然后手工放入到Junit中, 接着运行这个junit 看看是否成功或失败。而JunitFactory则能预先输入相关参数包括边界参数,然后也能预先得 到与刚才相关参数相关的结果。然后自动生成对应的Junit。这个听上去好像有点牛了。因为你要知道方法是无法去 完全去分析的。那他是怎么去做的呢?比如说有这么一个方法: public int plus(int i, int j) { return i+j; } 那么预先得到的junit是 int result = new MathDemo().plus(100, 1000); assertEquals("result", 1100, result); 和 int result = new MathDemo().plus(0, 0); assertEquals("result", 0, result);

功能测试如何突破瓶颈——七年软件测试工程师经验分享

拟墨画扇 提交于 2020-07-25 16:05:23
本文梗概: 1、测试人员的工作有哪些? 2、测试人员的必备技能有哪些? 3、资深测试员的心德体会。 做了那么久测试,你真的知道测试是做什么的吗? 测试人员的工作 看到这个问题,你是不是觉得有点傻?事实上,其实有很多与我们合作的同事并不清楚。下面我们以一个完整的项目,来介绍一下测试人员的工作究竟有哪些。 (1)项目立项,需求产出 很多人都在强调要测试前置,可是这是有条件的,如果你不按项目流程来走,都开发完相应的功能了才告诉测试,测试如何前置啊?所以在项目立项后,需求产出阶段要进行需求评审,确定好开发人员,测试人员,一起参与需求评审会议,此时三方人员根据各自的经验和专长,来讨论一下需求。开发从技术实现角度,测试从用户角度来对需求提出自己的意见,力争通过需求评审达到三方意见一致。一起排出项目周期及各个环节的关键日期,交付物等。 (2)需求开发,测试用例编写 在开发人员开发需求的时候,测试人员必须确定测试方案,编写相应的测试用例,通过xmind, excel编写冒烟测试用例,或者通过编码来编写冒烟测试用例,以供开发提测的时候进行自测;同时编写全面的测试用例,组织三方人员进行用例评审,进行测试必要的前期准备,如测试数据,测试环境等,监控项目周期各个环节执行的情况,如果出现任何风险及时预警。 (3)代码提测,测试阶段 在开发提测后,需要进行测试验收,验证冒烟测试用例的执行情况。如果冒烟测试通过

Intellij tests pass, mvn test fails

对着背影说爱祢 提交于 2020-07-22 09:28:32
问题 Main problem I am working on a spring-boot application. I have test, with @autowired serivces. All tests pass when I run them in IntelliJ. However, when I run mvn test from command line, nullpointer-exceptions are thrown. Any help is greatly appreaciated! Olav Example of test @ExtendWith(SpringExtension.class) @SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.NONE) public class CategoryServiceTest extends ServiceTestBase { @Autowired private

Junit 5 tests don't launch in Eclipse due to NoClassDefFoundError: TestEngine

五迷三道 提交于 2020-07-22 04:37:16
问题 (There was no question for this problem in stackoverflow, so I decided to share question & solution here.) I wanted to migrate my Spring Boot project from JUnit 4 to JUnit 5, so I added the new API as dependency and removed the old the ones: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> </exclusions> </dependency>

Mockito when().thenReturn calls the method unnecessarily

倾然丶 夕夏残阳落幕 提交于 2020-07-18 03:39:08
问题 I'm working a bit on an inherited code. I've written a test that is supposed to catch NullPointerException (for it is trying to call a method from null object) @Test(expected=NullPointerException.class) public void checkXRequirement_NullProduct_AddAction_ShouldThrowNullPointerException() throws CustomException { Site site = mock(Site.class); Product product = null; when(BasketHelper.getAction(request)).thenReturn(0); when(BasketHelper.getActionProduct(site, request)).thenReturn(product);

Maven - Suppress [WARNING] JAR will be empty - no content was marked for inclusion in pom.xml

百般思念 提交于 2020-07-17 09:47:12
问题 My maven project intentionally only needs src/test/java and src/test/resources . After removing src/main/* folders, the expected warning showed up upon mvn verify : [WARNING] JAR will be empty - no content was marked for inclusion! [INFO] Building jar: D:\dev\java\my-project\target\my-project-0.0.1-SNAPSHOT.jar How to suppress this warning apart from having a class with an empty main() method in src/main/java ? EDIT: As -q suppresses the warning, a followup would be if this can be done

Maven - Suppress [WARNING] JAR will be empty - no content was marked for inclusion in pom.xml

自闭症网瘾萝莉.ら 提交于 2020-07-17 09:45:47
问题 My maven project intentionally only needs src/test/java and src/test/resources . After removing src/main/* folders, the expected warning showed up upon mvn verify : [WARNING] JAR will be empty - no content was marked for inclusion! [INFO] Building jar: D:\dev\java\my-project\target\my-project-0.0.1-SNAPSHOT.jar How to suppress this warning apart from having a class with an empty main() method in src/main/java ? EDIT: As -q suppresses the warning, a followup would be if this can be done