adresindeki SystemExit hata iletisini veya iletiyi doğrulayın. Sızdırmazlık belgelerine göre, bir SystemExit() işleminin gerçekleştiğini, ancak daha fazlasını yapmak istediğimi söyleyebilirim: Çıkış kodunu ve herhangi bir iletiyi de doğrulamak istiyorum. Aşağıdaki kodu denedim, ancak hiçbir şey basmıyor ve doğru hata kodunu aldığımı kanıtlamak için ne yapmam gerektiğinden emin değilim.pytest
with pytest.raises(SystemExit):
docopt_args = validate_args(docopt_args)
out, err = pytest.capsys.readouterr()
assert out == 'Foo'
print out, err
Testimi çalıştırdığım zaman geçiyor, ama işte bu. Hiçbir şey basılmaz ve ben bir iddia hatası almıyorum.
ben yürütülecek beklemek kodudur: Bu ile çalışır
print '\n' + docopt_args['-d'] + ' is not a valid date\n'
sys.exit(-3)
anlamaktır .... ben girinti yanlış vardı. Sağlanan örneğe baktığımda bunu fark ettim. –
Ahh evet bundan bahsetmeyi unuttum :) Cevabımı güncellememe izin verin :) –
Varolan kodla ilgili iddialarda bulunmak için şu gibi bir şeye ihtiyacınız var: "pytest.raises (SystemExit) ile excinfo olarak: assert excinfo.value.code == 1 " – mvr