笔记整理_3

UT4断言

在一个测试中,往往需要满足某种条件才能断定测试成功,而不仅仅是测试方法执行完毕.
org.junit.Assert对象提供了各种断言方法,用于判定程序的执行结果是否符合预期,从而通过测试。
    1.import static org.junit.Assert.*;静态导入
    2.assertEquals(sb.replace(" ",""),result);

org.junit.ComparisonFailure:

断言报错

反射 带有dubboservice注解的类

1.

@Reference注解只能引用接口,不能引用类

1.

动态获取dubbo接口

1.以上方案为2.5.3版本中的方案Reference注解已经在dubbo新版本中标记为废弃

cannot resolve import

1.clean project重新编译

使用注解通过方法映射类名

1.参考CreatBeanUtil_Resp

选择版本revert

1.通过showlog查看版本,选择需要的进行回退
    revert to xxx revision

前言中不允许有内容

1.使用notepa另存为不带bom格式

挡板测试

1.即mock,如果你测试A系统,但是A系统还依赖B系统,B系统环境不好搭建或者性能可能是瓶颈,这时候,可以改一下
2.A系统调用B系统的代码,不再真正去调用了,而是直接返回一个模拟的值,最好是考虑到一般情况下调用B系统,所用的响应时间,在返回模拟值的时候,sleep一下,这样就比较真实了。

mybatis if判断


  BZNS_TP_ID =#{bznsTpId}
   and BZNS_TP_NAME like '%${bznsTpName}%'

Error:(1, 1) java: illegal character: '\ufeff',如下

将文本转成utf-8无BOM格式

1.使用notepad++,点击编码,使用utf-8编码

mybatis的mapper.xml中参数中包含引用类型变量

1

Oracle不支持Top n查询

Mybatis中Collection集合标签的使用

1.对应的xml
    
        
            
2.对应的实体类
    public class QueryPolicyBasicInfoResp {
        @XmlElementWrapper(name="basicInfoList")
        @XmlElement(name="basicInfos")
        private List basicInfos ;
3.对应的报文
    
        
        
            
                
                    
                        666

MyBatis的association和extends

1.

将文件Base64编码

resultMap Constructor???

1.必须依据resultMap特定的顺序
    id -- > result --> collection

XML表头声明standalone和String index out of range: -1

1.值 no 表示这个 XML 文档不是独立的而是依赖于外部所定义的一个 DTD. 值 yes 表示这个 XML 文档是自包含的(self-contained);
2.如果是yes,则表示这个XML文档时独立的,不能引用外部的DTD规范文件.

Mybatis-oracle时间范围查询

1.数据库类型date,传入是string
    = to_date(#{minCreateTime,jdbcType=DATE},'yyyyMMdd')]]>
    或者
    AND CREATE_DT =]]> to_date(#{createBeginDt}, 'yyyyMMdd')
2.jdbcType为date,bean为String
3.同为字符串

HTTPClient/mq/fel/定时/触发

unable to marshal type "java.util.ArrayList" as an element because it is missing an @XmlRootElement annotation

1.尝试不直接使用List返回
2.使用list转xml字符串的工具类

#unable to parse template class

1.原class template配置
    #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
    #parse("File Header.java")
    public class ${NAME} {
    }

Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList and java.lang.String

在动态sql语句中如果出现了list!=‘ ’这样的判断,就会把传进来的list当做string处理,因此在循环中就会出错;

Spring声明式事务管理方式

1.在基于tx和aop名字空间的xml配置文件中做相关的事务规则声明
2.通过基于@Transactional注解的方式
    --@Transactional 注解只能应用到 public 方法才有效;
    --在默认的代理模式下,只有目标方法由外部调用,才能被 Spring 的事务拦截器拦截。在同一个类中的两个方法直接调用,是不会被 Spring 的事务拦截器拦截的;

HttpClient测试

1.工具类使用

使用多if test判断时, where 和 and 的尴尬位置

where 1 = 1 ,现在知道是做什么的了吧

MyBatis List>

1.首先xml没有配置resultMap