【问题标题】:PyBuilder: No unit tests executedPyBuilder:没有执行单元测试
【发布时间】:2018-04-11 02:43:32
【问题描述】:

假设这是我的 PyBuilder 项目的源目录的布局 (省略 myProject 中的空 __init__.py):

src
├── main
│   └── python
│       └── myProject
│           └── usefulThing.py
└── unittest
    └── python
        └── UsefulThingTest.py

UsefulThingTest.py的内容如下:

import unittest

from myProject.usefulThing import usefulFunction

class UsefulThingTest(unittest.TestCase):

  def test_should_do_useful_things(self):
    self.assertEqual(usefulFunction(42), 1764)

当我运行pyb 时,我收到以下警告,并且没有执行任何测试:

[WARN]  No unit tests executed.
[INFO]  All unit tests passed.

为什么 PyBuilder 不运行这些测试?

【问题讨论】:

    标签: python python-unittest pybuilder


    【解决方案1】:

    UsefulThingTest-class 扩展 unittest.TestCase 的事实不足以将该类作为测试运行。保存UsefulThingTest 的文件的名称也必须遵循约定:默认情况下,它必须以_tests.py 结尾。比如重命名:

    UsefulThingTest.py
    

    useful_thing_tests.py
    

    解决问题。

    引用自Tutorial

    文件必须以_tests.py 结尾。这告诉 PyBuilder 在发现测试用例时考虑这个文件。

    这可以通过将unittest_file_suffix 属性设置为described here 来更改。

    【讨论】:

      【解决方案2】:

      unittests 要求将文件(包含测试)命名为: *_tests.py

      而且它还对函数名称施加了限制:

      导入单元测试 类 SampleTests(unittest.TestCase): def test1(自我): #function 名称应该是这样的:没有下划线等。

      即他们为测试套件预先定义了命名约定

      【讨论】:

        猜你喜欢
        • 2019-01-04
        • 1970-01-01
        • 2013-04-08
        • 2020-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-23
        相关资源
        最近更新 更多