我最近开始使用 Cassandra 作为主要数据存储,并且正在尝试使用CCM为此编写单元测试
我能够启动 Cassandra Cluster 实例并测试一个测试类。我希望能够同时测试另一个测试类,因为串行单元测试可能需要很长时间,并添加更多测试用例。我的测试代码看起来像 -
class BaseTestCase(TestCase):
def setUp(self):
super(BaseTestCase, self).setUp()
# Create and start a CCM (Cassandra Cluster Management) cluster
self.cluster = ccmlib.cluster.Cluster() # with reqd params
self.cluster.populate(1).start() # Start cluster with 1 node
现在,当我有超过 1 个从该基类继承的测试类,并且我连续运行测试时,它工作正常。但是当我并行运行nosetests 时,我会遇到“Cassandra 实例可能已经在运行”这样的错误。我试过调查Dtests但这似乎不能解决我的问题。它似乎可以跨集群运行测试,但不能并行运行。
我想知道是否有人可以为此指出我的问题,或者是否有人认为我在使用 CCM 或 Dtests 时做错了什么。谢谢!