对鼻子的贡献2

拜托了!没有测试社区的贡献,nose2就无法向前发展。

如果您不确定如何开始,请通过 mailing list . 我们欢迎有各种经验的投稿人。

基础知识

nose2托管在 github . 我们的家是https://github.com/nose-devs/nose2。我们使用Github的问题跟踪和协作工具 唯一地 用于管理Nose2的开发。这意味着:

编码指南

主要规则是: 任何涉及代码的补丁都应该包括测试。 当然,所有测试都应该在所有支持的Python版本下通过。

如果您不确定如何添加测试,或者不知道现有测试为什么会在您的更改上失败,请提交您的补丁并请求帮助测试它。

Tests are easy to run. Just install tox (pip install tox), and run tox in the nose2 root directory. You can also use make test to easily install and run tox correctly.

关于这个项目中的python和文档的一些附加提示。

  • 代码应该是 pep8 符合

  • 在可能的情况下,编写通过的代码 pyflakes 线头(考虑使用 flake8pyflakespep8 正在检查)

  • 为了与…保持一致 unittest 请对直接映射到类属性的类名称、方法、属性和函数参数使用camelcase。

  • 尝试对docstrings使用原始字符串--确保其他字符串不会被以下字符混淆 \\

  • 对于复杂的功能,在docstring中包含示例用法

工作流、分支和拉请求

基本的工作流程应该是在fork中的主题分支中完成工作,然后发布该分支的请求。

对于任何请求,

  • 确保符合本文件中规定的标准

  • 确保它完全合并

  • 列出请求关闭的所有问题

  • 挤压中间提交 . 考虑使用 git rebase --interactive 挤压打字错误修复、中止的实现等。

报告Bug

最好的错误报告是:

  • 检查重复项 . 快速搜索以确保没有报告已知的错误

  • 使用清晰的描述性标题

  • 解释你期望的行为 .

  • 提供如何复制的具体示例 . 示例代码、您运行的命令以及其他可能相关的内容

  • 包括stacktrace 如适用

在许多情况下,您可以通过包括以下信息来提供帮助:

  • 您运行的是什么版本的python?

  • 您运行的是什么操作系统和操作系统版本? uname -a 输出有帮助,但是“Ubuntu Linux 17.10”等其他描述也可能有用。

  • 您安装了哪些其他的python包? 在这种情况下,最好是向我们展示 pip freeze

如果你愿意并且有能力, 编写失败的测试 .

请求增强功能

请求新功能时,

  • 说出你为什么想要它 . 关注更多的是需要解决的问题,而不是如何解决的具体问题。

  • 建议您认为最简单的实现路径 . 如果你对如何实现一个特性有了一个概念,写下来。

  • 自愿写下来! nose2 作为一项社区工作来维护。如果你想要一个新功能,最好的方法是自己写!