2012-03-02 31 views
7

Django üzerinde bir REST API geliştiriyorum. Json msgs'i test etmek için diğer kullanımlar nelerdir? Bir tarayıcı eklentisi, python lib, curl, başka bir şey var mı?Test REST API

+0

Ayrıca, [vREST] (http://vrest.io) deneyimini de verebilirsiniz. – Jangid

cevap

0

Python 2.6+ standart kitaplığı, sınama yapmak için bazı JSON nesneleri oluşturmanıza yardımcı olan json modülünü içerir. İşte

belgelerine bir link:

7

Python istemci tarafında bazı temel testler yapmak Requests kütüphane kullanmayı deneyin yazmak istiyorsanız http://docs.python.org/library/json.html. Buna göz atmak isteyebileceğiniz, buna httpie adlı bir CLI aracı da var. Komut satırını tercih ederseniz, test için kıvırmayı da kullanabilirsiniz, ancak daha karmaşık bir API ile uğraşırken veya tekrar tekrar yapmak istiyorsanız, Python kodundan gelen uzun vadede İstekleri kullanmak daha kolay olabilir.

+0

Bir tarayıcıdan özel bir json POST oluşturmanın bir yolunu biliyor musunuz? Şu an elimden geldiğince elle test etmeye çalışıyorum. – ewhitt

+0

Bilgileri yayınlamak için bir HTML formu oluşturabilirsiniz. Alternatif olarak, Windows'taki Fiddler gibi araçlar, istediğiniz araçları elden geçirmenizi ve HTTP trafiğini görmenizi sağlar. –

+0

Chrome kullanıyorsanız, REST Console uzantısına mutlaka göz atmalısınız. Her türlü talebi kolayca karşılamanıza ve yanıtları görüntülemenize olanak tanır. – Ashemah

0

JSON basittir, çünkü Python'da kullanmak için JSON kütüphaneleri arasından seçim yapabilirsiniz. Seçim yapmadan önce, bu makaleyi okuyun http://deron.meranda.us/python/comparing_json_modules/ çünkü testiniz için sıkı bir ayrıştırıcı kullanmanın çok yararlı olduğunu düşündüğümden şüpheliyim. Test kriterleri eski olabilir, ancak katı validating parserlerin üst üste gelmesi olası değildir.

Uygulamanıza erişmek için httplib2 gibi bir kitaplık kullanarak web istemcisi gibi davranan bazı Python kodları yazın. Eğer sizin gibi bir çok kişi ve tüm JSON'larınız tek bir Javascript nesnesiyse, test verilerinizi SQLite gibi eski bir veritabanında tutabiliyor, bir Python dict dosyasına okuyabiliyor ve tek bir işlevle bir JSON nesnesine kodlayabiliyordunuz. aramak. Daha sonra gerçek test için, bir JSON cevabını aldıktan sonra, bir dict olarak kodlayın ve karşılaştırmalar için kullanmak için normal bir Python nesnesine sahip olursunuz.

+0

Bir tarayıcıdan özel bir json POST oluşturmanın bir yolunu biliyor musunuz? Şu an elimden geldiğince elle test etmeye çalışıyorum. – ewhitt

+0

Bir tarayıcıda elle bir şeyle uğraşmak yerine bir JSON yanıtı yayınlamak için birkaç satır Python yazmak çok daha kolay. –