单个 python 文件的单元测试
Unit tests for a single python file
我有一个 python 脚本,其中包含主脚本和大量辅助方法。如何为这些都位于同一文件中的辅助方法编写单元测试。我在网上看到的很多例子都涉及创建助手库,然后导入和测试它。在我的例子中,它是一个文件。
示例结构:
/user/
|-- pythonscript.py
我想为 pythonscript.py
编写测试。
样本pythonscript.py
:
def getSum(i ,j):
return i+j
def main():
summer = getSum(1,1)
if __name__ == '__main__':
main()
例如,我想在另一个文件中为 getSum
之类的方法编写测试。 (我记得有一个测试器会筛选 .py
文件并根据附加 test_
或 _test
来识别需要测试的功能,但我似乎再也找不到它了。)
听起来您在描述 pytest, which can automatically discover tests 遵循特定的命名和路径约定。其中之一是将每个以 test
为前缀的函数视为测试。
对于您的方案,我建议您也在目录的根目录下创建一个名为 test_pythonscript.py
的文件。在该文件中,您可以从 pythonscript.py
导入函数,然后测试它们:
# test_pythonscript.py
from pythonscript import getSum
test_getSum():
assert getSum(1, 2) == 3
一旦你安装了 pytest
作为依赖项,你就会 运行 pytest
在你的项目的根目录下,它应该能够发现上面的测试。
我有一个 python 脚本,其中包含主脚本和大量辅助方法。如何为这些都位于同一文件中的辅助方法编写单元测试。我在网上看到的很多例子都涉及创建助手库,然后导入和测试它。在我的例子中,它是一个文件。
示例结构:
/user/
|-- pythonscript.py
我想为 pythonscript.py
编写测试。
样本pythonscript.py
:
def getSum(i ,j):
return i+j
def main():
summer = getSum(1,1)
if __name__ == '__main__':
main()
例如,我想在另一个文件中为 getSum
之类的方法编写测试。 (我记得有一个测试器会筛选 .py
文件并根据附加 test_
或 _test
来识别需要测试的功能,但我似乎再也找不到它了。)
听起来您在描述 pytest, which can automatically discover tests 遵循特定的命名和路径约定。其中之一是将每个以 test
为前缀的函数视为测试。
对于您的方案,我建议您也在目录的根目录下创建一个名为 test_pythonscript.py
的文件。在该文件中,您可以从 pythonscript.py
导入函数,然后测试它们:
# test_pythonscript.py
from pythonscript import getSum
test_getSum():
assert getSum(1, 2) == 3
一旦你安装了 pytest
作为依赖项,你就会 运行 pytest
在你的项目的根目录下,它应该能够发现上面的测试。