轻松运行python单元测试

pyt的Python项目详细描述


pyt是一个围绕Python’s unittest module的轻量级包装器,它添加了 在stockunittest模块上有一些不错的特性和增强。

快速启动

Pyt重写了UnitTest的内置寻路功能,使之更智能、更少 详细,因此可以使用前缀匹配来匹配测试 进行如下测试:

$ python -m unittest tests.foo_test.BarTestCase.test_che

简单到:

$ pyt foo.Bar.che

但如果你想的话就更不冗长了,Pyt可以 模块和类进行匹配,因此您甚至不需要 如果不想指定模块和类:

$ pyt che

更多示例

运行所有Happy测试:

$ pyt Happy

运行所有newmodule测试:

$ pyt newmodule

运行多个测试:

$ pyt test1 test2 ...

运行每个测试pyt可以找到:

$ pyt

我喜欢在当前目录下运行所有测试的方式:

$ pyt -vb

也可以写入:

$ pyt --verbose --buffer

标志

查看pyt所能做的一切

$ pyt --help

–警告

这将把警告转换成错误。

$ pyt --warnings

–重新运行

如果上次测试运行的测试失败,则只会重新运行测试 失败了。

$pyt --rerun

注意事项

pyt使用python的pep 8样式约定

pyt使用Python’s code styling conventions来决定 是模块和类,因此,给定如下输入:

$ pyt foo.bar.Baz.che

pyt将认为foo.bar是模块,Baz是 类(因为它以大写字母开头),并且che是 方法(因为它在类之后)。

同样,pyt使用unittest约定,因此测试模块应该结束 使用_test(例如,foo.bar_test)或从test(例如, test_foo.py)和一个testcase类应该扩展 unittest.TestCase,测试方法应该以test_开头(例如, test_che)。

模糊输入可能导致pyt运行的测试比您预期的要多

所以如果你有这样的东西:

project/
  __init__.py
  user.py
  foo/
    __init__.py
    user.py
  tests/
    __init__.py
    user_test.py
    foo/
      __init__.py
      user_test.py

你想为foo.user运行测试,然后运行:

$ pyt user

它将同时运行tests/user_testtests.foo.user_test,即 解决方法是在必须做到以下几点时变得更加冗长:

$ pyt foo.user

环境变量

如果您在pyt中运行测试,您可能会注意到 环境变量PYT_TEST_COUNT,包含如何 发现PYT运行了许多测试。

安装

使用pip

$ pip install pyt

您也可以直接从回购中获得:

$ pip install --upgrade git+https://github.com/Jaymon/pyt#egg=pyt

如果使用python 3安装pyt,也可以使用 pyt3命令:

$ pyt3 --help

同样,python 2安装一个pyt2命令:

$ pyt2 --help

测试

在大多数系统上使用2.7进行测试:

$ python -m unittest pyt_test

在MacOS上进行3.5版测试:

$ python3.5 -m unittest pyt_test

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在不打开outlook邮件的情况下将HTML表单发送到电子邮件?   jar查找所需的最小java类路径   java如何将字符串变量转换为布局变量?   java Spring安全性在localhost上工作,但在服务器上的docker中给出了“403禁止”   java PDFBox在提取字体时引发索引越界异常   Eclipse/Java:有没有办法重新扫描路径,以便Eclipse不会显示错误?   DB从11G升级到19C以及ojdbc14升级到ojdbc8后出现java关闭连接问题   java使用jsp从数据库中删除行   JLabel中JList中的swing JAVA显示项   java Android从第二个类调用类函数   java是否将焦点赋予不是焦点窗口子级的面板?   java无法使用改型作为原始JSON发布数据   java如何从ArrayList填充JComboBox   java iText如何将条形码添加到文档(com.itextpdf.text.Document)?   java Dagger2没有完全解决依赖关系