2016-12-23 23 views
8

Python test seçenekleri hakkında bir sunum üzerinde çalışıyorum ve demo yapmak istediğim teknolojilerden biri de pytest. Sunumu bir jupyter/ipython defterinden yapmayı planlıyorum. İdeal olarak bir hücrede bir test fonksiyonunu tanımlamak ve daha sonra sadece bu fonksiyonu çalıştırmak için pytest kullanmak istiyorum; bu şekilde, pytest'in vb. özelliklerini gösterebilirimBir jupyter not defterinde pytest test işlevlerinin çalıştırılması

Bunu yapmak için mevcut bir yol var mı? Pytest api'de gördüğüm etkileşimli özelliklerin hiçbiri tasarıya uymuyor gibi gözüküyor, ama ben kesinlikle bir pytest uzmanı değilim. Bunu yapmak için bir eklenti yazmaktan mutluluk duyarım, bu yüzden bu yönde en iyi yaklaşımla ilgili tavsiyeler harika olur.

Pytest-ipynb'i gördüm, ancak ihtiyacım olanı yapmıyor gibi görünüyor. Bu değerlendirme yanlışsa, bunun nasıl kullanılacağına dair tavsiyeler de harika olur.

+0

Sadece buradaki verilere eklemek için, ama soruya cevap vermek için https://github.com/computationalmodelling/nbval –

cevap

7

Bu amaçla ipython_pytest'u oluşturdum ve my PyCon Helsinki 2016 presentation numaralı telefondan kullandım.

Böyle aracı kullanmak olacaktır:

%%pytest 

def test_my_stuff(): 
    assert 42 == 42 

Ne yazık ki test hücresinde test fonksiyonları mevcut notebook tanımlanan fonksiyon ve sınıflar için bir yol bulamadık. Birisi bunun için bir çözüm buluyorsa memnun olurum.

+0

Bu mükemmel görünüyor! Konferansa gelmediğim şey bu. – abingham

+0

Harika! Neden benim cevabımı da kabul edilmiş olarak işaretlemiyorsun :) – akaihola

+0

Oops, üzgünüm, düşündüm. – abingham

İlgili konular