重构——56以测试取代异常(Replace Exception with Test)

简介: 以测试取代异常(Replace Exception with Test):面对一个调用者可以预先检查的条件,你抛出了一个异常;修改调用者,使它在调用函数之前先做检查

以测试取代异常(Replace Exception with Test)

面对一个调用者可以预先检查的条件,你抛出了一个异常;修改调用者,使它在调用函数之前先做检查

一、动机

异常只应该被用于异常的,罕见的行为,也就是那些产生意料之外错误的行为,而不应该成为条件检查的替代品

二、做法

1、在函数调用点之前,放置一个测试语句,将函数内catch区段中的代码复制到测试句的适当的if分支中

2、在catch区段起始处加入一个断言,确保catch区段绝对不会被执行

3、编译,测试

4、移除所有的catch区段,然后将try区段内的代码复制到try之外,然后移除try区段

5、编译,测试

6、处理概括关系

目录
相关文章
|
6天前
|
前端开发 Java 测试技术
JavaSE碎碎念:记录一次异常测试和一些个人的浅显理解
JavaSE碎碎念:记录一次异常测试和一些个人的浅显理解
|
6天前
|
监控 前端开发 JavaScript
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
78 0
|
6天前
|
监控 前端开发 JavaScript
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
42 0
|
6天前
|
测试技术 Shell Android开发
随机测试 Monkey Test
随机测试 Monkey Test
|
6天前
|
缓存
pytest 运行测试函数报错的解决办法 TypeError: calling <function xxx> returned None, not a test
pytest 运行测试函数报错的解决办法 TypeError: calling <function xxx> returned None, not a test
125 0
|
6天前
|
机器学习/深度学习 Shell 开发工具
利用 test命令的测试功能
【1月更文挑战第4天】利用 test命令的测试功能。
48 4
|
6天前
|
Web App开发 人工智能 测试技术
软件测试/人工智能|解决Selenium中的异常问题:“error sending request for url”
软件测试/人工智能|解决Selenium中的异常问题:“error sending request for url”
74 0
|
7月前
|
安全 测试技术
什么是软件测试领域的 Smoke Test
什么是软件测试领域的 Smoke Test
105 0
|
7月前
|
算法 安全 测试技术
什么是软件测试领域的 false-positive test?
什么是软件测试领域的 false-positive test?
42 0
|
7月前
|
缓存 前端开发 测试技术
什么是软件测试领域的 Flaky test?
什么是软件测试领域的 Flaky test?
70 0

热门文章

最新文章