【问题标题】:python tests keep running after result has been received收到结果后python测试继续运行
【发布时间】:2020-04-28 19:46:47
【问题描述】:

正如问题所总结的那样,在运行 python 单元测试时,会打印结果,但进程似乎从未终止。在附图中,您可以看到实际测试用例旁边的绿色箭头,而整个测试套件仍然具有加载图标(即使只运行了单个测试)。

以下命令用于调用文件夹中的所有测试:python -m unittest discover "./test" -p "*Test.py"

问题在 pycharm 中以及从命令行调用测试时都是一致的。

其实在本地运行也不是问题,我只是自己终止它们。但是,由于我在 GitLab 中设置了一个管道,每当推送新的提交时都会运行测试,所以我从来没有得到“绿灯”继续前进。

谢谢大家的帮助!

screenshot of the situation

下面我添加了代码,我正在尝试从 Binance 交易所检索比特币价格。我觉得我需要先关闭一些连接。

class BinanceExchangeTest(unittest.TestCase):

def __init__(self, *args, **kwargs):
    binance_config = BinanceConfig()
    self.client = Client(binance_config.api_key, binance_config.api_secret)
    self.binance_data = BinanceData(self.client)
    super().__init__(*args, **kwargs)

def test_get_ask(self):
    price = self.binance_data.market_data.get_ask_price("BTCUSDT")
    self.assertIsNotNone(price, "No price returned.")
    self.assertGreater(price, 0, "No price returned.")

【问题讨论】:

  • 您能否发布相关代码和测试的链接以便重新创建?
  • 或者更好的是,发布一个最小的可重现示例。
  • 我更新了@WilliamD.Irons 的问题
  • __init__ 中创建的某些进程很可能仍在运行。最好将该代码移动到setUp,并添加一个tearDown,以便在测试后再次清理它(可能关闭客户端,或任何需要的东西)。
  • 您能否提供一个完整的可重现示例?

标签: python unit-testing pycharm


【解决方案1】:

错误是一个没有在库中停止的线程。

详细解释可以看on GitHub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 2013-10-16
    • 2017-10-11
    相关资源
    最近更新 更多