[英]How to test specific logging formatting in Python (using `pytest` and `unittest`)
[英]Using Unittest/PyTest/etc. to test a Python function that works with files
我有一个 function ,它接受一个 .mp3 或 .m4a 文件的路径并返回一个字符串,其中包含使用 TinyTag 从文件中提取的信息(为简洁起见,删除了导入语句):
def create_search_term(path_to_song):
tag = TinyTag.get(path_to_song)
artist = tag.artist
album = tag.album
search_term = f"{album} {artist} Album Cover"
return search_term
我已经手动测试过了,它适用于我电脑上的真实 MP3 文件路径。 但是,我正在尝试向该项目添加单元测试。 go 是否有为这样的 function 编写单元测试的最佳实践?
示例用例将"/path/to/bruce/springsteen/born_to_run.mp3"
作为输入, "Born to Run Album Cover"
作为返回值。
修补TinyTag
以生成示例响应,然后针对该响应测试 function 结果:
from mock import patch
def test_create_search_term():
with patch("__main__.TinyTag") as mock_tinytag:
mock_tinytag.get.return_value.artist = "Bruce Springsteen"
mock_tinytag.get.return_value.album = "Born to Run"
assert create_search_term("foo") == "Born to Run Bruce Springsteen Album Cover"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.