benim test komut dosyaları piton kod kapsama izlemek için coverage.py birlikte coveralls kullanın. Bu multiprocessing hariç oldukça güzel çalışırPython Kod Kapsamı ve Multiprocessing
coverage run --parallel-mode --source=mysource --omit=*/stuff/idont/need.py ./mysource/tests/run_all_tests.py
coverage combine
coveralls --verbose
: Ben şu komutları kullanın. işçi havuzları veya çocuk süreçler tarafından yürütülen Kod izlenmez.
da çoklu işlem kodu izlemek için bir olasılık var mı? Eksik Belli bir seçenek? Belki kapma yeni bir süreç kökenli her başlatmak için çoklu işlem kütüphaneye sarmalayıcılar ekleme?
DÜZENLEME:
ben (ve jonrsharpe, aynı zamanda bir monkey-patch for multiprocessing bulundu :-).
Ancak, bu benim Tracis-CI inşa neredeyse baştan sonra öldürüldü, benim için çalışmaz. Benim yerel makinede sorunu kontrol ve görünüşe çoklu işlem için yama ekleyerek hafızamı büstleri. 1GB bellek çok daha az zaman alır Testler bu düzeltme ile 16GB daha fazlası lazım.
EDIT2
:maymun yama küçük değişikliğin ardından çalışır: trick config_file
ayrıştırma (config_file=os.environ['COVERAGE_PROCESS_START']
) vermedi kaldırılıyor. Bu şişirilmiş belleğin sorunu çözdü. Buna göre, ilgili satır basitçe olur:
cov = coverage(data_suffix=True)
doğrudan o çocuk süreçleri için kod test etmeyin? – jonrsharpe
Eh, evet bunun çoğu benim var. Ama sadece yararlıdır ve kullanılan tek (kilitleri ile veri tabanı erişimi veya seri veri depolama zorlamak için bir çoklu sıra kaydırma gibi) durumda çoklu işlem yürütülür bazı parçalar vardır. Ve bu kod başarılı testler nedeniyle çalıştığını kendimi biliyorum. Bu da – SmCaterpillar
https://bitbucket.org/ned/coveragepy/issue/117/enable-coverage-measurement-of-code-run-by görün :-) tulumlar boy gösterecek eğer sadece http yoluyla, güzel olurdu : – jonrsharpe