makaleler / Python Programlama / Django için Unit Test oluşturma

Django için Unit Test oluşturma

05.07.2019 15:39:42

Bu yazımızda Django kullananların Unit Test'i nasıl kullanabilecekleri konusunu açıklamaya çalışacağım.

Artık sitemizde Django üzerine konularda yazı yazmaya karar verdim belki de bu bir direnişti fakat o kadar gelişmiş bir frameworku artık görmemezden gelemeyiz. Bu yazımızda basit bir konu olacak fakat bence development süreçlerinin en önemli konularından biri.


Proje içinden app klasörümüze gecelim cd uygulama/app/app ve test edeceğimiz hesapla.py dosyasını yazalım.

vim uygulama/app/app/hesapla.py


def ekle(x, y):
    """X ve Y sayisini ekler ve return degeri olarak toplamini döner"""
    return x + y


def cikar(x, y):
    """X degerinden Y degerini cikarir ve return degeri olarak cikartama
    sonucunu dondurur"""
    return x - y

unit test yapacagimiz dosyamızın adı da tests.py olsun aynı dizinde olması yeterlidir. Django unit testi çalıştırırken test parametresini hem dosya isimlerinde hemde metodlarda arar bu noktaya dikkat etmek önemlidir.


from django.test import TestCase
from app.calc import ekle, cikar


class HesaplaTests(TestCase):

    def test_ekle_sayi(self):
        """iki sayi toplaminin esitligini kontrol eder"""
        self.assertEqual(ekle(5, 2), 7)

    def test_cikar_sayi(self):
        """iki sayinin cikarma isleminin sonucunu kontrol eder"""
        self.assertEqual(cikar(9, 4), 5)

Test dosyamız hazır artık Console üzerinden çalıştırabiliriz.


python manage.py test

Hiç bir sorunla karşılamazsanız aşağıdaki gibi bir sonuç elde edersiniz.


Creating test database for alias 'default'...
System check identified no issues (0 silenced).
..
----------------------------------------------------------------------
Ran 2 tests in 0.001s

OK

Ek bilgi vermek istiyorum flake8 kütüphanesinide test süreçlerine dahil edebilirsiniz oldukça faydalı bir tool python syntax tarzı denetimleri yapıyor koyduğunuz boşluğa kadar kontrol ediyor.. Kullanım şekli aşağıdaki gibidir.


python manage.py test && flake8
yazar husonet

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
Göksel Övül
31.05.2019 11:05:11

Bilgisayarıma Python 3.3.2 yükledim, program çalışıyor.Düzenlediğim herhangi bir dosyayı save edip run ettiğim zaman başarılı olamıyorum, hata alıyorum. Nasıl çözüm bulabilirim acaba?

anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda