Crank 3.1.11'i Django 1.6 ile kullanıyorum. Arıyordum ama kereviz yaklaşık Yakın geçmişte bir çok soru bulmak mümkün değilim (3.1)Kereviz içinde Django ile Birim Test 3.1.11?
Ben manage.py yoluyla birim testler çalışılıyor.
>> python manage.py test calculationApp
calculationApp benim tests.py ben görev oluşturmak: Ben birim testi, test testinde sıkışmış ve hazır asla alır
c = calculateCarbon.delay(project.id)
r = AsyncResult(c.id).ready()
print "c.backend: %s" % (c.backend)
print "AsyncResult(c.id).ready(): %s" % (r)
print "AsyncResult(c.id).state: %s" % (AsyncResult(c.id).state)
print "AsyncResult(c.id).result: %s" % (AsyncResult(c.id).result)
while not r:
r = AsyncResult(c.id).ready()
(o süre döngü geçmiş geçmez), bu alın çıkış olarak:
/usr/lib/python2.7/dist-packages/numpy/core/_methods.py:96: RuntimeWarning: invalid value encountered in double_scalars
ret = ret/float(rcount)
c.backend: None
AsyncResult(c.id).ready(): False
AsyncResult(c.id).state: PENDING
AsyncResult(c.id).result: None
Bu noktada iki kez CTRL + C'ye sahibim.
Celery 3.0 Docs - Unit Testing numarasını okudum.
CELERY_ALWAYS_EAGER = True
TEST_RUNNER = 'djcelery.contrib.test_runner.CeleryTestSuiteRunner'
Bu hala, kereviz 3.1.11 için geçerli mi? Django birim testi hakkında Celery 3.1 ile ilgili herhangi bir belge bulamıyorum ve bu ayarlara sahip olduğumda, görev için arka ucun hiçbiri dönmediğinden, bu ayarların yardımcı olmadığından veya zarar verdiğinden emin değilim, ancak hesaplamalar gerçekte yürütülüyor gibi görünüyor .
ayarları ben bu sonuçları elde dosyası gelen bu iki satırları kaldırın:
c.backend: <celery.backends.amqp.AMQPBackend object at 0x7a4de50>
AsyncResult(c.id).ready(): False
AsyncResult(c.id).state: PENDING
AsyncResult(c.id).result: None
AsyncResult(c.id).ready(): True
AsyncResult(c.id).state: FAILURE
AsyncResult(c.id).result: task args must be a list or tuple
======================================================================
FAIL: test_calculations (measuring.tests.TestCalculations)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/var/www/project/calculationApp/tests.py", line 70, in test_calculations
self.assertEqual(int(number.attribute), 2212)
AssertionError: 0 != 2212
----------------------------------------------------------------------
Ran 1 test in 2.765s
Sadece benim uygulama için birim testleri çalıştırmaya çalışıyordum, Kereviz çalışıyorsa test değil. Celery'de olup bitenleri anlamak için sadece görevin çeşitli değerlerini yazdırıyordum. – skullkid