def test_make_keyword_task( mock_category_mapping_track_source_ids, mock_download_rule, mock_get_uuid): # Mocking RawRecord task = RawRecord( company_id=1, meta_type="image", keyword="iphone", file_path="/image/iphone.jpg", meta_uuid="iphonx", is_tracking="started" ) # Mocking Rules rules = {1: Rules(category={"some_category": {"nums": 1, "priority": 2}})} # Calling the function to test keyword_task_list = make_keyword_task( task, "some_url_root", rules, push_uuid=None, category_mapping_track_source_ids=mock_category_mapping_track_source_ids ) from loguru import logger logger.debug(keyword_task_list) print(keyword_task_list)
不管是最后的 logger.debug 还是 print 都不会显示了,很讨厌!
python -m pytest common
─➤ python -m pytest common/Users/ponponon/.local/share/virtualenvs/keyword_push-XlDIVWXu/lib/python3.10/site-packages/nameko/testing/pytest.py:101: UserWarning: For versions after 2.13.0, it is recommended to use the `nameko test` cli command. Nameko's pytest plugin no longer applies the eventlet monkeypatch as a pytest hook. This was removed to prevent polluting the environment in case a monkeypatch was not desired. If you need to invoke pytest directly instead of using `nameko test`, you can install the pytest-eventlet plugin, which just performs the automatic monkeypatching that was removed from Nameko. Alternatively you can apply the monkeypatch manually in your conftest.py file.This warning can be suppressed with the --suppress-nameko-eventlet-notification pytest option. warnings.warn(====================================== test session starts =======================================platform darwin -- Python 3.10.10, pytest-7.4.3, pluggy-1.3.0rootdir: /Users/ponponon/Desktop/code/work/xxxx-it/keyword_pushplugins: nameko-2.14.1, anyio-3.7.1collected 1 item common/test_common.py . [100%]======================================== warnings summary ========================================../../../../../.local/share/virtualenvs/keyword_push-XlDIVWXu/lib/python3.10/site-packages/kombu/utils/compat.py:82 /Users/ponponon/.local/share/virtualenvs/keyword_push-XlDIVWXu/lib/python3.10/site-packages/kombu/utils/compat.py:82: DeprecationWarning: SelectableGroups dict interface is deprecated. Use select. for ep in importlib_metadata.entry_points().get(namespace, [])-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html================================== 1 passed, 1 warning in 0.16s ==================================(keyword_push) ╭─ponponon@MBP13ARM ~/Desktop/code/work/xxxx-it/keyword_push ‹feature/v3*› ╰─➤
pytest 命令加一个 -s
就行
把 python -m pytest common
改成 python -m pytest -s common
你的问题似乎是关于如何在使用 pytest 进行单元测试时,让被测试程序的标准输出不被屏蔽。
在 pytest 中,标准输出(stdout)默认是被捕获的,这样你可以在测试失败时看到更详细的错误信息。然而,这也会导致你的 logger.debug 或 print 的输出无法显示。
解决这个问题的一种方法是使用 -s
或 --capture=no
参数运行 pytest,这样就可以让标准输出不被捕获。
python -m pytest -s common
这样,你的 logger.debug 和 print 的输出就可以正常显示了。
注意:这会让你的测试输出变得不可控,你可能无法看到失败的详细信息。因此,建议只在调试时使用这种方法。在生产环境中,还是应该使用默认的 stdout 捕获模式。
本文向大家介绍javascript实现网页屏蔽Backspace事件,输入框不屏蔽,包括了javascript实现网页屏蔽Backspace事件,输入框不屏蔽的使用技巧和注意事项,需要的朋友参考一下 下面通过javascript代码实现网页屏蔽Backspace事件,输入框不屏蔽,具体代码如下: 希望能够帮助到大家。
我想实现一个基准测试方法MergeSort和它的性能来衡量。我已经尝试用随机数填充要合并的数组,但是当代码运行时,数组会打印相同的随机数10次。这是为什么? PS。我不能发布我编写的整个程序。Stackoverflow说代码太多了。
问题内容: 我试图用Python编写程序,并被告知运行.exe文件。运行此.exe文件时,它会吐出大量数据,并且我需要在屏幕上打印出一定的行。我很确定我需要使用或类似的东西,但是我是子处理的新手,没有任何线索。有人有简单的方法让我完成此工作吗? 问题答案: 像这样:
我最近想出了如何在汇编中写入 stdout,但现在无法从 stdin 中读取,并将我读取的内容输出回 stdout。这是我到目前为止的代码: 我很确定我看错了。我很确定和的行为没有达到预期(如果我将 替换为 次),这是导致我的问题的原因(当我输入输入并点击return时,它什么也不显示)。 我已经摸索了一段时间了,希望能得到任何帮助。(我这么做只是为了了解这不是家庭作业)。 我的问题本质上是我做错
本文向大家介绍如何使用Python标准库进行性能测试,包括了如何使用Python标准库进行性能测试的使用技巧和注意事项,需要的朋友参考一下 Profile 和 cProfile 在 Python 标准库里面有两个模块可以用来做性能测试。 1. 一个是 Profile,它是一个纯 Python 的实现,所以会慢一些,如果你需要对模块进行拓展,那么这个模块比较合适。 2. 第二个是 cProfile,
问题内容: 在出现以下情况时如何编写测试: 测试用户输入。 测试从文件读取的输入。 测试从环境变量读取的输入。 如果有人可以告诉我如何解决上述情况,那就太好了;如果您能指出一些我可以阅读的docs / articles / blog帖子,那还是很棒的。 问题答案: 您所描述的所有三种情况都需要专门解决,以确保在设计中使用松散耦合。 您是否 真的 需要对Python的方法进行单元测试?该方法? ?没