UT单元测试(一)——基础流程总结篇
参考书籍《单元测试的艺术》
一、单元测试的定义
一个单元测试是一段代码(通常是一个方法),这段代码调用另一段代码(一个单元可以是一个方法或函数),然后检验某些假设的正确性。如果这些假设是正确的,单元测试就成功了,反之单元测试就失败了。
二、单元测试的价值
(1)帮助发现代码缺陷;
(2)修改或重构代码时确保不会影响现有功能;
三、单元测试书写步骤
(1)在目录下先新建对应测试代码的test包,使之与测试项目有相同的子目录;
(2)导入Jnuit测试包;
(3)找到要测试的类对应的java文件;快捷键Alt+Insert弹出Generate功能界面选择Test...;在Destination package选择对应的目标测试包,并勾选上setup()和teardown()方法;
(4)单元测试类框架结构
public class testAddNums{ @Before public void init(){ //before修饰的方法会在测试方法执行前自动执行 //一般用于资源申请,所有测试方法在执行前都会先执行该方法 } @Test public void testAdd(){ … //创建对象 //测试方法 //断言是否符合预期 Assert.assertEquals(预期结果,方法结果) } @After public void close(){ //after修饰的方法会在测试方法执行后自动执行 //一般用于释放资源,在所有测试方法执行完成后都会自动执行该方法 } } |
验证阶段需要使用Assert断言方法,常用的有AssetEquals()、AssertTrue()、AssertFalse()、AssertNull()、AssertNotNull()。
四、代码覆盖率
代码覆盖率通常指的是待测试全部代码通过编写测试类后能覆盖到的行,即行覆盖率。(还有其他类型的定义,有兴趣可自行查阅)
在IDEA中可以对整个包、单个类测试覆盖率,方法为:鼠标右键包或类,找到run xxx with coverage命令执行,就会显示出该包或者类的覆盖率。
多一点灵性: 请问你解决了找不到指定模块方法了吗
Ashbravo: 应该不是纯正版的事儿,但是可以从df内部调用脚本,然后程序都写到那一个入口里,凑合用吧
微分如她: 我也是这样,请问解决了吗
Ashbravo: python调用后 开启软件的命令应该是app = pf.GetApplication() 吧?但是我到这里就报错退出了,它进不去软件
HZRCHUANG: 你这个c的语法很明显就错了,第6行数组不能是变量