丰富的覆盖率数据
项目描述
## Smother

[](https://travis-ci.org/ChrisBeaumont/smother)
Smother是围绕[coverage.py](https://coverage.readthedocs.io/en/coverage-4.1/)的包装工具,用于测量代码覆盖率
对测试套件中的每个测试分别进行测量。其主要功能包括
* 使用[coverage.py](https://coverage.readthedocs.io/en/coverage-4.1/)进行快速和可靠的覆盖率跟踪。
* 能够查找访问应用代码任意部分的测试。
* 能够将版本控制差异转换为受影响测试的子集以重新运行。
## 演示
Smother包含nose和pytest的插件,并类似于coverage.py的行为
```
py.test --smother=my_module test_suite/
或
nosetests --with-smother --smother-package=my_module test_suite/
```
这些命令创建一个`.smother`文件,可以通过`smother` CLI进行查询
```
smother lookup foo.bar # 哪些测试访问了模块foo.bar?
smother lookup foo.bar:120-122 # 或文件中的某些行?
smother lookup foo.bar:baz # 或函数`baz`?
smother diff # 给定本地修改的仓库,哪些测试可能会出错?
smother diff | xargs py.test # 只运行它们!
smother to_coverage # 从.smother文件构建原始覆盖率文件
smother csv test.csv # 将所有(应用程序,测试)对输出到文件
```
## 为什么?
Smother被设计用来更容易地处理遗留代码库。这样的代码库通常有几个特性,使得快速迭代变得困难
* **运行时间长的测试套件。** Smother最初设计的代码库运行了11K个测试,需要近24小时的CPU时间。`smother diff`使得选择(希望更大)的子集变得更容易
需要重新运行以快速识别可能回归的测试。
**许多不同的子系统** -- 其中大多数单个开发者都不熟悉。可以使用 `smother lookup` 来探索特定模块在测试套件中是如何和在哪里被调用的。这些测试通常揭示了代码行为的隐含合同,这些合同仅从文档中并不明显。
**范围蔓延**。随着时间的推移,代码库中的抽象变得更加脆弱,
不同子系统之间的逻辑耦合更加紧密。`smother csv` 对源代码单元(行、函数或类)与测试之间的耦合进行了分类。探索这些数据通常可以提供关于
哪些子系统封装良好,哪些子系统将受益于重构的见解。
## 完整文档
[阅读文档](http://smother.readthedocs.io/en/latest/)

[](https://travis-ci.org/ChrisBeaumont/smother)
Smother是围绕[coverage.py](https://coverage.readthedocs.io/en/coverage-4.1/)的包装工具,用于测量代码覆盖率
对测试套件中的每个测试分别进行测量。其主要功能包括
* 使用[coverage.py](https://coverage.readthedocs.io/en/coverage-4.1/)进行快速和可靠的覆盖率跟踪。
* 能够查找访问应用代码任意部分的测试。
* 能够将版本控制差异转换为受影响测试的子集以重新运行。
## 演示
Smother包含nose和pytest的插件,并类似于coverage.py的行为
```
py.test --smother=my_module test_suite/
或
nosetests --with-smother --smother-package=my_module test_suite/
```
这些命令创建一个`.smother`文件,可以通过`smother` CLI进行查询
```
smother lookup foo.bar # 哪些测试访问了模块foo.bar?
smother lookup foo.bar:120-122 # 或文件中的某些行?
smother lookup foo.bar:baz # 或函数`baz`?
smother diff # 给定本地修改的仓库,哪些测试可能会出错?
smother diff | xargs py.test # 只运行它们!
smother to_coverage # 从.smother文件构建原始覆盖率文件
smother csv test.csv # 将所有(应用程序,测试)对输出到文件
```
## 为什么?
Smother被设计用来更容易地处理遗留代码库。这样的代码库通常有几个特性,使得快速迭代变得困难
* **运行时间长的测试套件。** Smother最初设计的代码库运行了11K个测试,需要近24小时的CPU时间。`smother diff`使得选择(希望更大)的子集变得更容易
需要重新运行以快速识别可能回归的测试。
**许多不同的子系统** -- 其中大多数单个开发者都不熟悉。可以使用 `smother lookup` 来探索特定模块在测试套件中是如何和在哪里被调用的。这些测试通常揭示了代码行为的隐含合同,这些合同仅从文档中并不明显。
**范围蔓延**。随着时间的推移,代码库中的抽象变得更加脆弱,
不同子系统之间的逻辑耦合更加紧密。`smother csv` 对源代码单元(行、函数或类)与测试之间的耦合进行了分类。探索这些数据通常可以提供关于
哪些子系统封装良好,哪些子系统将受益于重构的见解。
## 完整文档
[阅读文档](http://smother.readthedocs.io/en/latest/)
项目详情
关闭
smother-0.2.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 54de0cdb98519d2a7af526fcb698e2d61c5e1d31b63a7572542d987e8870538d |
|
MD5 | 65879f311a7200ed32bb645ab1132eae |
|
BLAKE2b-256 | ad6bb366398d93b9aae208e3146a3190a1463933a9e9c582ab58f7d66ec281e9 |