【发布时间】:2020-04-28 19:46:47
【问题描述】:
正如问题所总结的那样,在运行 python 单元测试时,会打印结果,但进程似乎从未终止。在附图中,您可以看到实际测试用例旁边的绿色箭头,而整个测试套件仍然具有加载图标(即使只运行了单个测试)。
以下命令用于调用文件夹中的所有测试:python -m unittest discover "./test" -p "*Test.py"
问题在 pycharm 中以及从命令行调用测试时都是一致的。
其实在本地运行也不是问题,我只是自己终止它们。但是,由于我在 GitLab 中设置了一个管道,每当推送新的提交时都会运行测试,所以我从来没有得到“绿灯”继续前进。
谢谢大家的帮助!
下面我添加了代码,我正在尝试从 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