当前位置: 首页 > wzjs >正文

网站开发与网站制作怎么引流到微信呢

网站开发与网站制作,怎么引流到微信呢,做广告在哪个网站做效果人流最多,老鹰画室网站哪家做的《Python基础教程》第1章笔记👉https://blog.csdn.net/holeer/article/details/143052930 第16章 测试基础 16.1 先测试再编码 极限编程先锋引入了“测试在前,编码在后”的理念。这也称为测试驱动的编程。 16.1.1 准确的需求说明 需求类型众多&…

《Python基础教程》第1章笔记👉https://blog.csdn.net/holeer/article/details/143052930

第16章 测试基础

16.1 先测试再编码

极限编程先锋引入了“测试在前,编码在后”的理念。这也称为测试驱动的编程

16.1.1 准确的需求说明

需求类型众多,包括诸如客户满意度这样模糊的概念。本小节的重点是功能需求,即程序必须提供哪些功能。

这里的理念是先编写测试,再编写让测试通过的程序。测试程序就是需求说明,可帮助确保程序开发过程紧扣这些需求。

16.1.2 做好应对变化的准备

自动化测试不仅可在你编写程序时提供极大的帮助,还有助于在你修改代码时避免累积错误,这在程序规模很大时尤其重要。

覆盖率(coverage)是一个重要的测试概念。运行测试时,很可能达不到运行所有代码的理想状态。Python自带的程序trace.py是一种覆盖率测量工具。可从命令行运行它,也可将其作为模块导入。

16.1.3 测试四步曲

在深入介绍编写测试的细节之前,先来看看测试驱动开发过程的各个阶段(至少有个版本是这样的)。
(1) 确定需要实现的新功能。可将其记录下来,再为之编写一个测试。
(2) 编写实现功能的框架代码,让程序能够运行(不存在语法错误之类的问题),但测试依然无法通过。测试失败是很重要的,因为这样你才能确定它可能失败。
(3) 编写让测试刚好能够通过的代码。在这个阶段,无需完全实现所需的功能,而只要让测试能够通过即可。
(4) 改进(重构)代码以全面而准确地实现所需的功能,同时确保测试依然能够成功。

16.2 测试工具

16.2.2 unittest

标准库中的unittest(基于流行的Java测试框架JUnit)是一个灵活而强大的测试工具。它让你能够以结构化方式编写庞大而详尽的测试集。

【提示】标准库包含另外两个有趣的单元测试工具:pytest(pytest.org)和nose(nose.readthed ocs.io)。

代码清单16-2 一个使用框架unittest的简单测试(test_my_math.py)

import unittest, my_mathclass ProductTestCase(unittest.TestCase):def test_integers(self):for x in range(-10, 10):for y in range(-10, 10):p = my_math.product(x, y)self.assertEqual(p, x * y, 'Integer multiplication failed')def test_floats(self):for x in range(-10, 10):for y in range(-10, 10):x = x / 10y = y / 10p = my_math.product(x, y)self.assertEqual(p, x * y, 'Float multiplication failed')if __name__ == '__main__': unittest.main()

使用函数unittest.main运行测试——该函数将实例化所有的TestCase子类,并运行所有名称以test开头的方法。

【提示】如果你定义了方法setUptearDown,它们将分别在每个测试方法之前和之后执行。

与assertEqual方法类似的方法还有:assertTrue、assertIsNotNone、assertAlmostEqual

unittest区分错误和失败。错误指的是引发了异常,而失败是调用failUnless等方法的结果。

接下来创建my_math.py

def product(x, y):pass

运行测试,将出现两条FAIL消息。这说明测试与代码关联起来了。

修改my_math.py如下:

def product(x, y):return x * y

再次运行测试,此时应该出现OK消息。

【提示】有关更复杂的面向对象代码测试,请参阅模块unittest.mock

16.3 超越单元测试

要探索程序,还有其他一些方式,下面将介绍两个工具:源代码检查和性能分析。源代码检查是一种发现代码中常见错误或问题的方式(有点像静态类型语言中编译器的作用,但做的事情要多得多)。性能分析指的是搞清楚程序的运行速度到底有多快。之所以按这里的顺序讨论这些主题,是为了遵循“使其管用,使其更好,使其更快”这条古老的法则。单元测试可让程序管用,源代码检查可让程序更好,而性能分析可让程序更快。

16.3.1 使用PyLint检查源代码

长期以来,PyChecker都是用于检查Python源代码的唯一工具,能够找出诸如给函数提供的参数不对等错误。之后出现了PyLint,它支持PyChecker提供的大部分功能,还有很多其他的功能,如变量名是否符合指定的命名约定、你是否遵守了自己的编码标准等。

使用pip install pylint安装PyLint,之后就可以在命令行中使用了,如:pylint module。其中module为模块名。模块subprocess提供了使用命令行工具的接口,这样你就可以把命令写在代码中。

代码清单16-3 使用模块subprocess调用外部检查器

import unittest, my_math
from subprocess import Popen, PIPEclass ProductTestCase(unittest.TestCase):def test_integers(self):for x in range(-10, 10):for y in range(-10, 10):p = my_math.product(x, y)self.assertEqual(p, x * y, 'Integer multiplication failed')def test_floats(self):for x in range(-10, 10):for y in range(-10, 10):x = x / 10y = y / 10p = my_math.product(x, y)self.assertEqual(p, x * y, 'Float multiplication failed')def test_with_PyLint(self):cmd = 'pylint', '-rn', 'my_math'pylint = Popen(cmd, stdout=PIPE, stderr=PIPE)output, error = pylint.communicate()print("Pylint Output:", output.decode())print("Pylint Error:", error.decode())if __name__ == '__main__': unittest.main()

PyLint对代码中变量名长度、修订号和开头的长字符串均有要求,因此请将my_math.py替换为下面的版本:

"""
一个简单的数学模块
"""
__revision__ = '0.1'def product(factor1, factor2):'The product of two numbers'return factor1 * factor2

运行测试,PyLint将输出代码的rate结果。

16.3.2 性能分析

不论优化诀窍再巧妙,如果根本用不着,就不用关心了。如果程序的速度已经足够快,代码清晰、简单易懂的价值可能远远胜过细微的速度提升。

标准库包含一个卓越的性能分析模块profile,还有一个速度更快C语言版本,名为cProfile。使用示例如下。

import cProfile
from my_math import product
cProfile.run('product(1, 2)')

执行以上程序将输出如下信息:各个函数和方法被调用多少次以及执行它们花费了多长时间。如果通过第二个参数向run提供一个文件名(如’my_math.profile’),分析结果将保存到这个文件中。然后,就可使用模块pstats来研究分析结果了。有关这个API的详情,请参阅标准库文档。

【提示】标准库还包含一个名为timeit的模块,提供了一种对小段Python代码的运行时间进行测试的简单方式。

http://www.dtcms.com/wzjs/24554.html

相关文章:

  • 2018年网站风格百度网盘登录入口网页版
  • 苏州公司排名潍坊seo网络推广
  • 公司做网站开发流程网站域名购买
  • 赚钱做任务的网站有哪些搜索引擎有哪些
  • 大型门户网站建设是什么seo公司推荐推广平台
  • 网站响应式技术seo研究中心论坛
  • 主题资源网站建设步骤站长工具友链查询
  • 金华做企业网站公司如何做好品牌宣传
  • 做网站一般要了解哪些自动app优化
  • 美颜秘籍网站建设许昌网站推广公司
  • 网站怎么快速做收录做市场推广应该掌握什么技巧
  • 网站开发背景和目的百度公司地址
  • 网站防红怎么做的百度推广多少钱
  • 一站式建设网站百度推广的效果
  • 网站关键词是什么漳州seo网站快速排名
  • 和男人人做的网站河南网站建设公司哪家好
  • 免费qq注册入口seo概念的理解
  • 手机购物网站制作免费发布信息网网站
  • 网站建设中无码视频网站排名优化方法
  • 优秀品牌形象设计案例合肥网络公司seo
  • 上海服装贸易公司排名一键优化清理
  • 建设一个网站需要什么安全设备视频营销的策略与方法
  • 网站维护与建设ppt微信推广软件哪个好
  • 网站建设总体方案设计合肥网络公司排名
  • 瑜伽 网站模板百度公司官网
  • 广州 网站制google搜索app下载
  • 电脑如何建立网站优化大师官方正版下载
  • 网站开发 jsp盐酸达泊西汀片是治疗什么的药物
  • Wordpress免费版插件搜狗排名优化工具
  • wordpress怎么发布网站网站流量统计工具