Django 官方教程翻译项目Django 项目, 第五部分 自动化测试简介 自动化测试是什么? 为什么你需要写测试 测试将节约你的时间 测试不仅能发现错误,而且能预防错误 测试使你的代码更有吸引力 测试有利于团队协作 基本测试策略 第一个测试 首先得有个 Bug 写个测试来发现 Bug 运行测试 修复 Bug 更全面的测试 测试视图 针对视图的测试 Django 测试工具之 Client 改善视图代码 规划时没有包含测试是不科学的。” 其他的开发者希望在正式使用你的代码前看到它通过了测试,这是你需要写测试的另一个重要原因。 前面的几点都是从单人开发的角度来说的。复杂的应用可能由团队维护。测试的存在保证了协作者不 会不小心破坏了了你的代码(也保证你不会不小心弄坏他们的)。如果你想作为一个 Django 程序 员谋生的话,你必须擅长编写测试! 测试有几种不同的应用方法。 一些开发者遵循 测试驱动开发(test-driven 字段比当前时间还晚时也会返回 True(这 是个 Bug)。 你能从管理页面确认这个 Bug。创建一个发布日期是将来的投票,在投票列表里你会看到它被标明为 测试使你的代码更有吸引力 测试有利于团队协作 基本测试策略 第一个测试 首先得有个 Bug 创建你的第一个 Django 项目, 第五部分 - 55 - 本文档使用 书栈(BookStack.CN) 构建 最近发布(published0 码力 | 103 页 | 1.86 MB | 1 年前3
Flask入门教程(程序),比如 ls、cat、nano、ssh 等,这些命令我们在后面会用到。 使用 Git Git 是一个流行的版本控制工具,我们可以用它来记录程序源码和文件的变动情 况,或是在编程时进行多人协作,你可以把它看做一个优雅的代码变动备份工具。 如果你还不熟悉 Git 也没关系,可以先按照书中的命令去做,有时间再去了解原 理。现在要做的第一件事就是在你的电脑上安装 Git (可以执行 git 创建,这部分操作你也可以使用编辑器来完成。 将程序托管到 GitHub(可选) 这一步是可选的,将程序托管到 GitHub、GitLab 或是 BitBucket 等平台上,可以更 方便的备份、协作和部署。这些托管平台作为 Git 服务器,你可以为本地仓库创建 远程仓库。 首先要注册一个 GitHub 账户,点击访问注册页面,根据指示完成注册流程。登录 备用。 设置 SSH 密钥 一0 码力 | 127 页 | 7.62 MB | 1 年前3
Python 标准库参考指南 3.6.15 有两个典型用例。在具有单继承的类层级结构中,super 可用来引用父类而不必显式地指定它们的 名称,从而令代码更易维护。这种用法与其他编程语言中 super 的用法非常相似。 第二个用例是在动态执行环境中支持协作多重继承。此用例为 Python 所独有,在静态编译语言或仅支 持单继承的语言中是不存在的。这使得实现“菱形图”成为可能,在这时会有多个基类实现相同的方 法。好的设计强制要求这种方法在每个情况下具有 分 来 实 现 的, 例 如 super(). __getitem__(name)。它做到这一点是通过实现自己的 __getattribute__() 方法,这样就能以 可预测的顺序搜索类,并且支持协作多重继承。对应地,super() 在像 super()[name] 这样使用语 句或操作符进行隐式查找时则未被定义。 还要注意的是,除了零个参数的形式以外,super() 并不限于在方法内部使用。两个参数的形式明确 并不限于在方法内部使用。两个参数的形式明确 指定参数并进行相应的引用。零个参数的形式仅适用于类定义内部,因为编译器需要填入必要的细节 以正确地检索到被定义的类,还需要让普通方法访问当前实例。 对于有关如何使用super() 来如何设计协作类的实用建议,请参阅 使用 super() 的指南。 tuple([iterable]) 虽然被称为函数,但tuple 实际上是一个不可变的序列类型,参见在元组 与序列类型—list, tuple0 码力 | 1886 页 | 8.95 MB | 9 月前3
Python 标准库参考指南 3.6.15 有两个典型用例。在具有单继承的类层级结构中,super 可用来引用父类而不必显式地指定它们的 名称,从而令代码更易维护。这种用法与其他编程语言中 super 的用法非常相似。 第二个用例是在动态执行环境中支持协作多重继承。此用例为 Python 所独有,在静态编译语言或仅支 持单继承的语言中是不存在的。这使得实现“菱形图”成为可能,在这时会有多个基类实现相同的方 法。好的设计强制要求这种方法在每个情况下具有 分 来 实 现 的, 例 如 super(). __getitem__(name)。它做到这一点是通过实现自己的 __getattribute__() 方法,这样就能以 可预测的顺序搜索类,并且支持协作多重继承。对应地,super() 在像 super()[name] 这样使用语 句或操作符进行隐式查找时则未被定义。 还要注意的是,除了零个参数的形式以外,super() 并不限于在方法内部使用。两个参数的形式明确 并不限于在方法内部使用。两个参数的形式明确 指定参数并进行相应的引用。零个参数的形式仅适用于类定义内部,因为编译器需要填入必要的细节 以正确地检索到被定义的类,还需要让普通方法访问当前实例。 对于有关如何使用super() 来如何设计协作类的实用建议,请参阅 使用 super() 的指南。 tuple([iterable]) 虽然被称为函数,但tuple 实际上是一个不可变的序列类型,参见在元组 与序列类型—list, tuple0 码力 | 1886 页 | 8.95 MB | 9 月前3
Python 标准库参考指南 2.7.18 有两个典型用例。在具有单继承的类层级结构中,super 可用来引用父类而不必显式地指定它们的 名称,从而令代码更易维护。这种用法与其他编程语言中 super 的用法非常相似。 第二个用例是在动态执行环境中支持协作多重继承。此用例为 Python 所独有,在静态编译语言或仅支 持单继承的语言中是不存在的。这使得实现“菱形图”成为可能,在这时会有多个基类实现相同的方 法。好的设计强制要求这种方法在每个情况下具有 分 来 实 现 的, 例 如 super(). __getitem__(name)。它做到这一点是通过实现自己的 __getattribute__() 方法,这样就能以 可预测的顺序搜索类,并且支持协作多重继承。对应地,super() 在像 super()[name] 这样使用语 句或操作符进行隐式查找时则未被定义。 Also note that super() is not limited to argument form specifies the arguments exactly and makes the appropriate references. 对于有关如何使用super() 来如何设计协作类的实用建议,请参阅 使用 super() 的指南。 2.2 新版功能. tuple([iterable]) Return a tuple whose items are the same and0 码力 | 1552 页 | 7.42 MB | 9 月前3
Python 标准库参考指南 2.7.18 有两个典型用例。在具有单继承的类层级结构中,super 可用来引用父类而不必显式地指定它们的 名称,从而令代码更易维护。这种用法与其他编程语言中 super 的用法非常相似。 第二个用例是在动态执行环境中支持协作多重继承。此用例为 Python 所独有,在静态编译语言或仅支 持单继承的语言中是不存在的。这使得实现“菱形图”成为可能,在这时会有多个基类实现相同的方 法。好的设计强制要求这种方法在每个情况下具有 分 来 实 现 的, 例 如 super(). __getitem__(name)。它做到这一点是通过实现自己的 __getattribute__() 方法,这样就能以 可预测的顺序搜索类,并且支持协作多重继承。对应地,super() 在像 super()[name] 这样使用语 句或操作符进行隐式查找时则未被定义。 Also note that super() is not limited to argument form specifies the arguments exactly and makes the appropriate references. 对于有关如何使用super() 来如何设计协作类的实用建议,请参阅 使用 super() 的指南。 2.2 新版功能. tuple([iterable]) Return a tuple whose items are the same and0 码力 | 1552 页 | 7.42 MB | 9 月前3
Python 标准库参考指南 2.7.18 有两个典型用例。在具有单继承的类层级结构中,super 可用来引用父类而不必显式地指定它们的 名称,从而令代码更易维护。这种用法与其他编程语言中 super 的用法非常相似。 第二个用例是在动态执行环境中支持协作多重继承。此用例为 Python 所独有,在静态编译语言或仅支 持单继承的语言中是不存在的。这使得实现“菱形图”成为可能,在这时会有多个基类实现相同的方 法。好的设计强制要求这种方法在每个情况下具有 分 来 实 现 的, 例 如 super(). __getitem__(name)。它做到这一点是通过实现自己的 __getattribute__() 方法,这样就能以 可预测的顺序搜索类,并且支持协作多重继承。对应地,super() 在像 super()[name] 这样使用语 句或操作符进行隐式查找时则未被定义。 Also note that super() is not limited to argument form specifies the arguments exactly and makes the appropriate references. 对于有关如何使用super() 来如何设计协作类的实用建议,请参阅 使用 super() 的指南。 2.2 新版功能. tuple([iterable]) Return a tuple whose items are the same and0 码力 | 1552 页 | 7.42 MB | 9 月前3
Python 标准库参考指南 3.7.13 有两个典型用例。在具有单继承的类层级结构中,super 可用来引用父类而不必显式地指定它 们的名称,从而令代码更易维护。这种用法与其他编程语言中 super 的用法非常相似。 第二个用例是在动态执行环境中支持协作多重继承。此用例为 Python 所独有,在静态编译语言或 仅支持单继承的语言中是不存在的。这使得实现“菱形图”成为可能,在这时会有多个基类实现相 同的方法。好的设计强制要求这种方法在每个情况下具有相同的调用签名(因为调用顺序是在运行 __getattribute__() 方法,这样 20 Chapter 2. 内置函数 The Python Library Reference, 发布 3.7.13 就能以可预测的顺序搜索类,并且支持协作多重继承。对应地,super() 在像 super()[name] 这样使用语句或操作符进行隐式查找时则未被定义。 还要注意的是,除了零个参数的形式以外,super() 并不限于在方法内部使用。两个参数的形式 并不限于在方法内部使用。两个参数的形式 明确指定参数并进行相应的引用。零个参数的形式仅适用于类定义内部,因为编译器需要填入必要 的细节以正确地检索到被定义的类,还需要让普通方法访问当前实例。 对于有关如何使用super() 来如何设计协作类的实用建议,请参阅 使用 super() 的指南。 class tuple([iterable]) 虽然被称为函数,但tuple 实际上是一个不可变的序列类型,参见在元组 与序列类型 --- list0 码力 | 1846 页 | 9.09 MB | 9 月前3
Python 标准库参考指南 3.7.13 有两个典型用例。在具有单继承的类层级结构中,super 可用来引用父类而不必显式地指定它们的 名称,从而令代码更易维护。这种用法与其他编程语言中 super 的用法非常相似。 第二个用例是在动态执行环境中支持协作多重继承。此用例为 Python 所独有,在静态编译语言或仅支 持单继承的语言中是不存在的。这使得实现“菱形图”成为可能,在这时会有多个基类实现相同的方 法。好的设计强制要求这种方法在每个情况下具有 分 来 实 现 的, 例 如 super(). __getitem__(name)。它做到这一点是通过实现自己的 __getattribute__() 方法,这样就能以 可预测的顺序搜索类,并且支持协作多重继承。对应地,super() 在像 super()[name] 这样使用语 句或操作符进行隐式查找时则未被定义。 还要注意的是,除了零个参数的形式以外,super() 并不限于在方法内部使用。两个参数的形式明确 并不限于在方法内部使用。两个参数的形式明确 指定参数并进行相应的引用。零个参数的形式仅适用于类定义内部,因为编译器需要填入必要的细节 以正确地检索到被定义的类,还需要让普通方法访问当前实例。 对于有关如何使用super() 来如何设计协作类的实用建议,请参阅 使用 super() 的指南。 class tuple([iterable]) 虽然被称为函数,但tuple 实际上是一个不可变的序列类型,参见在元组 与序列类型 --- list0 码力 | 1961 页 | 9.14 MB | 9 月前3
Python 标准库参考指南 3.13 有两个典型用例。在具有单继承的类层级结构中,super 可用来引用父类而不必显式地指定它 们的名称,从而令代码更易维护。这种用法与其他编程语言中 super 的用法非常相似。 第二个用例是在动态执行环境中支持协作多重继承。此用例为 Python 所独有而不存在于静态编码 语言或仅支持单继承的语言当中。这使用实现“菱形图”成为可能,即有多个基类实现相同的方 法。好的设计强制要求这样的方法在每个情况下都具有相同的调用签名(因为调用顺序是在运行时 被实现为为显式的带点号属性查找的绑定过程的组成部分,例如 super(). __getitem__(name)。它做到这一点是通过实现自己的 __getattribute__() 方法以便能够按 支持协作多重继承的可预测的顺序来搜索类。相应地,super() 在像 super()[name] 这样使用语 句或运算符进行隐式查找时则是未定义的。 还要注意的是,除了零个参数的形式以外,super() 并不限于在方法内部使用。两个参数的形式明 确指定参数并进行相应的引用。零个参数的形式仅适用于类定义内部,因为编译器需要填入必要的 细节以正确地检索到被定义的类,还需要让普通方法访问当前实例。 对于有关如何使用super() 来如何设计协作类的实用建议,请参阅 使用 super() 的指南。 class tuple class tuple(iterable) 虽然被称为函数,但tuple 实际上是一个不可变的序列类型,参见在元组0 码力 | 2246 页 | 11.74 MB | 9 月前3
共 22 条
- 1
- 2
- 3













