Code Monkey home page Code Monkey logo

happytest's Introduction

happyTest

一些寻常或奇怪的小测试集合
建议实现方法结合单元测试的示例来阅读
有附带postman测试用的json文件,可以导入postman直接使用
部分内容需要结合前端项目来实现完整流程,点击前往前端项目
todo 的地方表示还不确定是否正确

已包含内容有:

(1)multithreadSync

synchronized 和 @Trasational同时使用时,产生的多线程并发问题

(2)threadVariable

多线程的变量在执行中的变动影响与更新

(3)cryptology

密码学相关的库、方法使用实例
由于其中部分地方使用到了sun.包,所以需要注意,这类包已经是“Deprecated and restricted API”,不推荐使用
需要谨慎考虑用到这个包的几个方法,最好是用平替的方法
【官方解释】:javac uses a special symbol table that does not include all Sun-proprietary classes. When javac is compiling code it doesn't link against rt.jar by default. Instead it uses special symbol file lib/ct.sym with class stubs.
大意是:javac在编译时,并不引用 rt.jar,用的是一个特别的symbol table(lib/ct.sym),这个symbol table不包含所有的sun包的类。
【具体原因】:J2SE中的类大致可以划分为以下的各个包:java.
,javax.,org.,sun.;除了“sun”包,其它各个包都是Java平台的 标准实现,并且今后也将被继续支持。一般说来,“sun”之类的包并不包含在Java平台的标准中,它与操作系统相关,在不同的操作系统 (如Solaris,Windows,Linux,Mac等等)中的实现也各不相同,并且可能随着J2SE版本不定期变化。因此,直接调用“sun”包的程序代码 并不是100%的Java实现。也就是说:“sun.”包并不是API公开接口的一部分,调用“sun”包的程序并不能确保工作在所有Java平台上,事实 上,这样的程序并不能工作在今后的Java平台上。

(4)unboundedWildcardsAndGenerics

用List<?>和List<T>来学习类型参数“<T>”和无界通配符“<?>”的区别

(5)exploreJVM

探索jvm中classLoader及双亲委托的内容

(6)judgeExp

关于mybatis的dao层传递参数时,xml里的if条件判断使用内置类型_parameter的探索
以及传入的数字值为0时,mybatis里的if条件判断会将其认为是‘’空字符串的问题(有解决策略,也有规避方式)

(7)ymlConfig

关于优雅地读取配置文件中自定义的配置的实例(多种方式)

(8)lombokExplore

关于lombok的注解里的坑(推荐最多只用lombok的getter和setter两个注解,其他的自己实现)
可是,即便是使用getter和setter,因为作者在部分细节处逆规范,导致特定条件下会出问题。在本模块中也会对其进行实验

(9)fileIO

关于一些比较怪的文件操作及流的实例
关于单文件/多文件通过接口上传实例
关于CSV文件操作实例
ZIP的压缩和解压

(10)subProcess

调用子进程

(11)mp

MybatisPlus的使用笔记(包含有:updateById的字段忽略策略)

(12)uniformPackagingReturn

统一封装应答对象(包含有:解决返回String基本数据类型时的异常)

(13)time

关于时间的一些操作

(14)barcodImage

一些条形码图像处理的工具类(注意,需要引入新的包)
二维码图像处理工具类

(15)randomUtils

一些随机生成的工具类(应该都会比较粗糙,毕竟都是拿来作为假数据的)

(16)sqlOperation

一些复杂的sql操作,特别是一些统计时使用的搜索归类
MySQL的DATE类型,在比较时会自动设置为零点零分零秒
查询时,如果依据排序列有相同项,则mysql会随机取相同的项的数据,导致数据混乱。

(17)feignClient

关于模拟客户端向其他服务发送请求的示例(使用openfeign)

(18)system

一些关于系统的操作(例如判定当前所处的系统环境)

(18)math

一些关于数学的操作(包含但不限于进制转换处理)

(19)textProcessing

一些文本处理工具方法

(20)email

邮箱相关示例 简单的发送邮件、利用模板引擎构造邮件内容后发送邮件

(21)schedules

定时任务的cron依据配置文件设置

(22)objectUtils

对象相关的一些工具方法
对象和Map键值对之间通过反射进行相互转换

(n)others

不知道咋归类的都丢这里
关于List.subList的坑的测试
关于数组的一些测试(按数组下标取值是引用取值,如果是对象,改属性值将影响原数组的相应元素)

(n+1) 补充

1.Linux运行jar包
nohup java -jar xxx.jar --spring.profiles.active=prod &
通过–spring.profiles.active指定不同的环境(如开发dev、测试test、生产prod等,主要看配置文件里怎么定义)
nohup (可选)表示本jar包是不挂断地运行命令,退出终端不会影响程序的运行。在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目 录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中
& (可选)是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出
两者结合就是:在后台不挂断地运行

2.获取在后台不断运行中的xxx.jar包的进程的进程编号
ps aux|grep xxx.jar

3.立即强制停止运行在后台不断运行中的jar包进程
kill -9 jar包对应的进程编号

4.使用外置配置文件(yml)
SpringBoot外部配置配置文件,使用命令:--spring.config.location=
=后面如果是一个文件夹,则会自动去找里面的所有yml文件,并忽略对应的jar包内的配置文件(因为有加载的优先级) (此时可以结合--spring.profiles.active来配置环境)。 如果是特定文件,则只会去找单个文件。
注意:jar包默认会优先加载同一目录底下的yml配置文件

5.部署相关
①如果有涉及访问别的服务,则部署后需要进行网络通信是否能通的验证(ping或telnet)。如果访问还涉及SSL通信, 则也需要进行相应的通信测试。(当然,业务上的验证也不能遗漏)

happytest's People

Contributors

17lhf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.