2013-10-07 19 views
8

pytestrunner PluginManager beklenmedik anahtar kelime argüman sadece pytest, tmp.py öğrenmek için: Bu komut dosyasını çalıştırmak için pycharm kullanmapycharm Ben çok basit bir test senaryosu var

def square(x): 
    return x*x 
def test_square(): 
    assert square(4) == 16 

, ben pytest olacak şekilde ayarlanması projemi yapılandırılmış ettik Benim varsayılan test koşucu olarak kullanılır. Ben pycharm 3.0 Professional sürümünü çalıştırıyorum

/Users/mingxiao/webdav_2.7.5/bin/python /Applications/PyCharm.app/helpers/pycharm/pytestrunner.py -p pytest_teamcity /Users/mingxiao/dev/juggernaut/src/integrations/webDAV/demo/tmp.py "-k test_square" 
Testing started at 4:41 PM ... 
Traceback (most recent call last): 
    File "/Applications/PyCharm.app/helpers/pycharm/pytestrunner.py", line 51, in <module> 
    main() 
    File "/Applications/PyCharm.app/helpers/pycharm/pytestrunner.py", line 20, in main 
    _pluginmanager = PluginManager(load=True) 
TypeError: __init__() got an unexpected keyword argument 'load' 

Process finished with exit code 1 

, pytest 2.4.2 ve piton 2.7.5: Yukarıdaki kodu çalıştırdığınızda aşağıdaki hatayı alıyorum. PyCharm'ın, soruna neden olduğu görünüyor.

+0

çalışmalıdır. PyCharms düzelttim değilse –

cevap

11

O pycharm ve py.test 2.4.x sürümüne arasında bir uyumsuzluk gibi görünen Eğer 2.3.5 py.test yüklerseniz (örneğin, pip install pytest==2.3.5) iyi çalışıyor. JetBrains'e bir hata raporu göndermenizi öneriyorum.

+0

, pytest sorun izleyicide de bir sorunu dosya. Bence kolay bir düzeltme. – hpk42

2

pycharm pytest yardımcı yeni pytest ile uyumlu olacak şekilde görünmüyor pycharm izleyicide oluşturuldu. bunlar py.test script içerikleri ile yerine düzeltmeye kadar gayet güzel çalışıyor.

Yardımcısı (testler çalışırken bu yolu görebilir) PyCharm.app/helpers/pycharm/pytestrunner.py yer almaktadır. Pycharm tarafından projenize pytest eklemek yılında

__requires__ = 'pytest==2.5.1' 
    import sys 
    from pkg_resources import load_entry_point 

    if __name__ == '__main__': 
     sys.exit(
      load_entry_point('pytest==2.5.1', 'console_scripts', 'py.test')() 
    ) 
0

: Sadece benim için öyle, o cat `which py.test` çıktısını koymak Ayarlar -> Proje tercüman -> artı yeşil simgeye tıklayın -> "pytests" için arama -> "paketini yükle" butonuna

Tekrarlanmasına tıklayın, şimdi bu sonunda hiçbir * s * ile pycharm var

İlgili konular