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

时间:2012-07-31 05:43:21

标签: python nose nosetests unittest2

我如何使用python脚本中的nose

  1. 从目录中收集python文件
  2. foreach文件
    1. 运行使用传递参数找到的所有测试类
  3. 这是一个例子,给定文件

    /run.py
    /tests/TestClassA.py
    

    并且 TestClassA.py 是代码

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



    重申需求:
    我想从run.py调用nose。我想要鼻子(或鼻子的某些部分)来

    1. 在文件TestClassA.py
    2. 中找到课程 A
    3. 创建 A 的实例,名为 a ,将字符串“foo”传递给 A .__ init __ 功能
    4. 致电 a.test_run()
    5. 此请求的 run.py 中的python nose代码是什么?
      如果不是python nose,python unittests会做得更好吗?

1 个答案:

答案 0 :(得分:2)

在run.py中:

import nose
result = nose.run()

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

您应该阅读有关实例化测试中使用的对象的文档。如果你真的想像你写的那样去做,你可以编写一个单元测试,创建一个A对象并运行测试,但这样做会破坏使用鼻子的目的 - 通常你测试一些不是仅在定义测试的代码中定义。