第三天

第四天:

作业:

Entry类相当于暴露给对外的一个接口,提供一个人口类,并不是main方法,

run的时候,在NEW这个入口类,

StringUtil:

StringUtils.countMatches(p_str, p_key)

FilenameUtils

concat()路径和文件名相连接

getExtension()获取扩展名

getBaseName()

getFullpath()

FileUtils.readFileToString(new File(p_path), System.getProperty("file.encoding"))

把我们string给读出来了

filename单独写一个类的作用:

因为只是针对windows,字段分隔符是用

Linux还是windows用这个可以取后缀、全名等等,方便我们使用。

Junit

Juni3------

java测试框架的鼻祖

Junit已经默认集成到eclipase里了,它已经默认为eclipase的插件了

它也就是一个jar

右击--others---testcase

选择junit 3 test  setup eardown

public class Mytcase01 extends TestCase

可以看出,因为继承了testcase类,就junit3中怎么默认我们这个类是个junit3的测试类呢?

就因为它继承了TestCase

junit中不通过打印输出校验用例通过与否

而是用断言 assertEquals,校验用例成功与否

验证测试通过与否

setup 前置条件 --初始化你的测试(有时候某些环境需要初始化的)

Teardown  后置条件 ---完成测试后,对你这个测试整个整理(做完测试一些账号和数据要干掉)

在执行case之前,都会执行setup

在执行每个case之后,都会执行teardown

每执行一次用例,setupteardown都执行一次

AssertTrue验证条件是否真,

AssertNull验证方法返回值是否是null

AssertSame验证2个引用的值是否是相等的

我们运行junit是一个case一个case运行

批量运行testcase---others--testsuit

我们的测试用例可以通过suite方式给保管起来,

创建junit4

除了和3一样勾选setupteardown以外还要

SetupberforeClassTeardownAfterclass

@berforeClass@Afterclass

在你整个case初始化之前执行的,整个case初始化完成到case运行。到case结束,到最后后面执行Afterclass,是全局的,

一个是在最前面运行,一个是在最后面执行

@berfore@After 相当于Junit3中的setupteardown

Junit4中的标签:

@Testtimeout=xxx--验证一个case在多少时间内通过

@Testexpected=Exception.class--进行异常的校验

@ignore 相当于对case进行注释,被选为ignore case不会被执行

Case不通过是failedfailederror是有区别的,

failed可理解为程序可控的一个failed,比如说验证一个值通过不通过,通过就pass,不通过就failed

红叉代表出现了一些异常。

AssertThat相当于也是一个断言,除此之外,多了一些比对功能,

assertThat("developerWorks",new StringEndsWith( "s" ));

比如验证前面那个值是否以s开头,提供了一些方法进行字符串的分析,

但是用处不是很大,我们完全可以这样写:

assertEquals(true,"developerWorks".startsWith("d"));

我们完全没有必要用assertThat改进的一些方法,

Junit Suite

@RunWith(Suite.class)  空类,因为所有执行逻辑都是通过标签完成的

@SuiteClasses({ Junit4Case1.class, Junit4Case2.class }) 

---把需要的case放到这里面

public class AllTests {

}

模拟登录系统:

Apache.commons.configuration 方便我们进行做配置处理

不仅对Properties类型文件进行读写还可以xml、、、、文件进行解析处理,

我们后期做日志系统的时候会用到Windows INI files

我们用Properties类模拟数据的存储,

Containskey验证某一个值是否存在,是否包含这个key

做完写入的时候必须要保存下save

Addproperty 加一些值

Getproperty 通过key 的值得到values的值

Setproperty(key,values)可以更新values的值

原文地址:https://www.cnblogs.com/wjy123/p/7713566.html