İşlevleri ve Yöntemleri Test Etme Chai

 Doğru istisnaları atmak için işlevleri test etme

throw İstisnaları test etmek için tarafından sağlanan iddiayı kullanabiliriz Chai. Bu iddia, atılması gereken istisna türünü ve doğrulamak istediğimiz ek ayrıntıları belirtmemize izin verir. Bu iddiayı test senaryolarımıza dahil ederek, fonksiyonlarımızın beklendiği gibi davranmasını ve hata koşullarını uygun şekilde ele almasını sağlayabiliriz.

İki sayıyı bölen bir fonksiyonumuzun olduğu bir örneği ele alalım. İşlevin sıfıra bölünürken bir istisna oluşturmasını sağlamak istiyoruz. İşlevin sıfıra bölerken doğru bir şekilde a atıp atmadığını kontrol etmek için Chai 'in iddiasını kullanarak bir test durumu yazabiliriz. throw DivideByZeroError

const { expect } = require('chai');  
  
function divide(a, b) {  
  if(b === 0) {  
    throw new Error('DivideByZeroError');  
  }  
  return a / b;  
}  
  
describe('divide',() => {  
  it('should throw DivideByZeroError when dividing by zero',() => {  
    expect(() => divide(10, 0)).to.throw('DivideByZeroError');  
  });  
  
  it('should return the correct result when dividing two numbers',() => {  
    expect(divide(10, 5)).to.equal(2);  
  });  
});  

Yukarıdaki örnekte, işlevin sıfıra bölerken a fırlattığını to.throw doğrulamak için iddiayı kullanıyoruz. İddia, istisnayı yakalayabilmesi ve gerekli kontrolleri yapabilmesi için bir işleve sarılır. divide DivideByZeroError

Doğru istisna atma testleri dahil ederek, fonksiyonlarımızın hata koşullarını uygun şekilde işlemesini ve beklenmeyen durumlar meydana geldiğinde anlamlı geri bildirim sağlamasını sağlayabiliriz. Bu, kodumuzun genel kalitesini ve güvenilirliğini artırmaya yardımcı olur.

Sonuç olarak, istisnalar oluşturan test fonksiyonları, yazılım testinin önemli bir yönüdür. Chai 'nin iddiasıyla throw, gerektiğinde fonksiyonlarımızın beklenen istisnaları attığını kolayca doğrulayabiliriz. Bu testleri test stratejimize dahil ederek uygulamalarımızın sağlamlığını artırabilir ve daha iyi bir kullanıcı deneyimi sağlayabiliriz.

Mocha "Node.js, ve " serisinin üçüncü makalesinde Chai, .js kullanarak işlev ve yöntemlerin nasıl test edileceğini keşfedeceğiz Chai. Chai koddaki değerleri ve sonuçları test etmek için güçlü bir iddia kitaplığıdır JavaScript.

 

Nesne yöntemlerini ve davranışlarını test etme

Mocha Bir nesnenin yöntemlerini doğrulamak için, ve gibi test çerçeveleri tarafından sağlanan iddiaları kullanabiliriz Chai. Bu iddialar, nesnelerin özellikleri ve davranışları hakkında iddialarda bulunmamızı sağlar.

calculator Toplama, çıkarma, çarpma ve bölme yöntemleriyle çağrılan bir nesneye sahip olduğumuz bir örneği ele alalım. Bu yöntemlerin doğru sonuçları döndürmesini sağlamak istiyoruz. Chai Bu yöntemlerin davranışını doğrulamak için 'nin iddialarını kullanarak test senaryoları yazabiliriz .

const { expect } = require('chai');  
  
const calculator = {  
  add:(a, b) => a + b,  
  subtract:(a, b) => a- b,  
  multiply:(a, b) => a * b,  
  divide:(a, b) => a / b,  
};  
  
describe('calculator',() => {  
  it('should return the correct sum when adding two numbers',() => {  
    expect(calculator.add(5, 3)).to.equal(8);  
  });  
  
  it('should return the correct difference when subtracting two numbers',() => {  
    expect(calculator.subtract(5, 3)).to.equal(2);  
  });  
  
  it('should return the correct product when multiplying two numbers',() => {  
    expect(calculator.multiply(5, 3)).to.equal(15);  
  });  
  
  it('should return the correct quotient when dividing two numbers',() => {  
    expect(calculator.divide(6, 3)).to.equal(2);  
  });  
});  

Yukarıdaki örnekte, nesnenin yöntemlerinin beklenen sonuçları döndürdüğünü doğrulamak için Chai 'nin iddiasını kullanıyoruz. Her test durumu, belirli bir yönteme odaklanır ve belirli bir girdi için doğru çıktıyı döndürüp döndürmediğini kontrol eder. expect calculator

calculator Bu test durumlarını çalıştırarak, nesnenin yöntemlerinin beklendiği gibi davranmasını ve doğru sonuçlar vermesini sağlayabiliriz .

Yöntemlerin dönüş değerlerini kontrol etmenin yanı sıra, nesnelerin diğer özelliklerini ve davranışlarını doğrulamak için de iddiaları kullanabiliriz. Chai nesneler üzerinde özellik değerlerini kontrol etme, yöntem çağrılarını doğrulama ve daha fazlası gibi çeşitli türden iddialar yapmamıza izin veren çok çeşitli iddialar sağlar.

Bir nesnenin yöntemlerini kapsamlı bir şekilde test ederek, bunların doğruluğunu ve güvenilirliğini sağlayabiliriz, bu da kod tabanımızın genel kalitesine katkıda bulunur.