Mengenal unittest

Pengantar Pengujian di Python

Alexander Levin

Data Scientist

Rekap OOP

  • OOP - paradigma pemrograman berbasis objek dan kelas.
  • Class - templat objek yang dapat memuat method dan atribut.
  • Method - fungsi/prosedur milik kelas.
  • Attribute - variabel milik kelas.
  • Object - instance dari kelas.
  • Contoh kelas Python:
    class Rectangle:
      # Konstruktor Rectangle
      def __init__(self, a, b):
          self.a = a
          self.b = b
      # Method luas
      def get_area(self):
          return self.a * self.b
    # Contoh penggunaan
    r = Rectangle(4, 5)
    print(r.get_area())
    
>> 20
Pengantar Pengujian di Python

Pewarisan OOP

  • Kelas dapat mewarisi properti dari kelas lain.
  • Letakkan kelas induk dalam kurung setelah nama kelas baru.
    class RedRectangle(Rectangle):
      self.color = 'red'
    
Pengantar Pengujian di Python

Apa itu unittest

  • unittest - kerangka kerja bawaan Python untuk otomatisasi pengujian (terpasang dengan Python).
  • unittest - bukan hanya untuk unit test.
  • Berbasis OOP: tiap test case adalah kelas, tiap test adalah method.
  • Test case - instance pengujian.
  • Test suite - kumpulan test case.
Pengantar Pengujian di Python

unittest vs. pytest

unittest

  • Berbasis OOP - perlu membuat kelas test)
  • Bawaan (terpasang bersama distribusi Python)
  • Lebih banyak metode assertion

pytest

  • Berbasis fungsi - mencari skrip/fungsi yang diawali test_
  • Paket pihak ketiga (dipasang terpisah dari distribusi Python)

  • Metode assertion lebih sedikit

Pengantar Pengujian di Python

Cara membuat test dengan unittest

Uji operator perpangkatan:

import unittest

# Mendeklarasikan kelas TestCase
class TestSquared(unittest.TestCase):
    # Mendefinisikan pengujian
    def test_negative(self):
        self.assertEqual((-3) ** 2, 9)
Pengantar Pengujian di Python

Metode assertion

  • .assertEqual(), .assertNotEqual()
  • .assertTrue(), .assertFalse()
  • .assertIs(), .assertIsNone()
  • .assertIsInstance(), .assertIn()
  • .assertRaises()
  • Dan lainnya
Pengantar Pengujian di Python

Ringkasan

  • unittest - kerangka kerja bawaan Python berbasis OOP untuk otomatisasi pengujian
  • Test case - instance pengujian di unittest
  • Membuat test:
    1. Deklarasikan kelas yang mewarisi unittest.TestCase
    2. Definisikan fungsi test
  • Metode assertion
Pengantar Pengujian di Python

Ayo berlatih!

Pengantar Pengujian di Python

Preparing Video For Download...