Python PyBuilder:未执行单元测试
假设这是我的PyBuilder项目的源目录的布局 (在Python PyBuilder:未执行单元测试,python,python-unittest,pybuilder,Python,Python Unittest,Pybuilder,假设这是我的PyBuilder项目的源目录的布局 (在myProject中为空\uuuuuu init\uuuuuuuuuuuuuy.py): 而UsefulThingTest.py的内容如下: import unittest from myProject.usefulThing import usefulFunction class UsefulThingTest(unittest.TestCase): def test_should_do_useful_things(self):
myProject
中为空\uuuuuu init\uuuuuuuuuuuuuy.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不运行这些测试?事实上,
UsefulThingTest
-类扩展了unittest.TestCase
不足以让类作为测试运行。保存有UsefulThingTest
的文件名也必须遵循约定:默认情况下,它必须以\u tests.py
结尾。例如,重命名:
UsefulThingTest.py
到
解决了这个问题
引自:
文件必须以\u tests.py
结尾。这就告诉PyBuilder在发现测试用例时要考虑这个文件。
这可以通过将unittest\u file\u后缀属性设置为来更改。unittests要求将文件(包含测试)命名为:
*_tests.py
它还对函数名施加了限制:
import unittest
class SampleTests(unittest.TestCase):
def test1(self):
#function name should be like this : no underscore etc.
导入单元测试
类SampleTests(unittest.TestCase):
def测试1(自我):
#函数名应该是这样的:没有下划线等。
i、 他们有预定义的测试套件命名约定
useful_thing_tests.py
import unittest
class SampleTests(unittest.TestCase):
def test1(self):
#function name should be like this : no underscore etc.