来自脚本的 python Nose ,从文件中收集测试类,然后运行测试

标签 python nose nosetests unittest2

我如何使用Python脚本中的nose来

  1. 从目录中收集 python 文件
  2. foreach 文件
    1. 运行使用传递参数找到的所有测试类

这是给定文件的示例

/run.py
/tests/TestClassA.py

TestClassA.py中是代码

  class A():
     __init__(self, b):
          self._b = b
     test_run():
          print("%s",self._b)



重申需求:
我想从 run.py 调用 Nose 。我想要 Nose (或 Nose 的某个部分)

  1. 在文件 TestClassA.py 中查找类 A
  2. 创建一个A实例,命名为a,将字符串"foo"传递给A.__ init __功能
  3. 调用a.test_run()

此请求的 run.py 中的 python Nose 代码是什么?
如果不是 python nos ,python 单元测试会做得更好吗?

最佳答案

在run.py中:

import nose
result = nose.run()

您可以通过向 run() 调用传递适当的参数来选择要运行的测试,请参阅 usage options for nose 。 Nose 会发现 TestClassA.py 很好,因为文件名以 test 开头。通常,您只需传递项目的根路径即可。

您可能应该阅读有关实例化要在测试中使用的对象的 Nose 文档。如果你真的想像你写的那样做,你可以编写一个单元测试来创建一个 A 对象并运行测试,但这违背了使用 Nose 的目的 - 通常你测试不仅仅在定义测试的代码中定义的东西。

关于来自脚本的 python Nose ,从文件中收集测试类,然后运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11733839/

相关文章:

python - Nosetest初始化错误

python - 更改由 nose 测试生成器创建的测试的名称

python - 我可以将 Nose 覆盖输出限制到目录(而不是包)吗?

python - Google App Engine 上的简单博客 - 没有显示任何条目

python - 在新型类中实现 __getitem__

python - 如何更改 Python AssertionError 中的消息?

python - 组织 cython 源文件及其测试(使用 nosetests)

python - 在 pickle 文件中保存和加载多个对象?

java - 使用 Apache Arrow 读取 Parquet 文件

python - 使用 django_nose 和 django-dynamic-fixture 优化示例 django 模型的设置和拆卸