Mocha ve kullanarak temel bir test oluşturma Chai
Mocha ve kullanarak temel bir test oluşturmak için Chai şu adımları takip edebilirsiniz:
1. Yükleyin Mocha ve: Node.js projenize yüklemek Chai için npm'yi(Düğüm Paket Yöneticisi) kullanın. Proje dizininizde aşağıdaki komutu çalıştırın: Mocha Chai
npm install mocha chai --save-dev
2. Bir test dosyası oluşturun: Örneğin, yeni bir dosya oluşturun ve ve kullanmak test.js
için aşağıdaki bildirimleri içe aktarın: Mocha Chai
const chai = require('chai');
const expect = chai.expect;
describe('Example Test Suite',() => {
it('should pass the test',() => {
expect(2 + 2).to.equal(4);
});
});
3. Testi çalıştırın: Terminali açın ve mocha
testleri yürütmek için komutu çalıştırın. Her şey yolunda giderse, terminalde görüntülenen sonuçları göreceksiniz.
Bu temel test, basit bir hesaplamayı kontrol etmek için Mocha ve kullanır. Chai Yukarıdaki örnekte, işlemin sonucunun 2 + 2
eşit olması gerektiğini kontrol ediyoruz 4
. Sonuç doğruysa, test geçecektir.
describe
Bloklar ekleyerek it
daha karmaşık testler oluşturabilir ve kaynak kodunuzun farklı bölümlerini kontrol edebilirsiniz.
Test için Chai veya tarafından sağlanan diğer onaylama yöntemlerini de kullanabileceğinizi unutmayın assert
. should
Spesifik kullanım, seçiminize ve test kodunuzu nasıl düzenlemek istediğinize bağlıdır.
İşlev sonuçlarını doğrulamak için iddiaları ve sorguları kullanma
Mocha Test için ve kullanırken Chai, işlevlerin sonuçlarını kontrol etmek için iddiaları ve sorguları kullanabilirsiniz. İşlev sonuçlarını kontrol etmek için iddiaları ve sorguları kullanmaya ilişkin bazı örnekler:
1. Belirli bir değer döndüren bir fonksiyonun sonucunu kontrol etmek için expect
iddiayı ve sorguyu kullanın: to.equal
const result = myFunction();
expect(result).to.equal(expectedValue);
2. Bir boole değeri döndüren bir işlevin sonucunu kontrol etmek için "beklenti" iddiasını ve to.be.true
veya sorgusunu kullanın: to.be.false
const result = myFunction();
expect(result).to.be.true; // or expect(result).to.be.false;
to.be.null
3. Boş veya tanımsız bir değer döndüren bir işlevin sonucunu kontrol etmek için "beklenti" iddiasını ve veya to.be.undefined sorgusunu kullanın:
const result = myFunction();
expect(result).to.be.null; // or expect(result).to.be.undefined;
4. Bir diziye veya dizgeye bir değer dahil edilip edilmediğini kontrol etmek için expect
iddiayı ve sorguyu kullanın: to.include
const result = myFunction();
expect(result).to.include(expectedValue);
5. Bir dizinin veya dizenin uzunluğunu kontrol etmek için expect
iddiayı ve sorguyu kullanın: to.have.lengthOf
const result = myFunction();
expect(result).to.have.lengthOf(expectedLength);
Mocha Bu örnekler, iddiaları ve sorguları kullanmanın ve Chai işlev sonuçlarını kontrol etmenin birçok yolundan yalnızca birkaçıdır. Projenizin test gereksinimlerine göre uygun iddiaları ve sorguları özelleştirebilir ve kullanabilirsiniz.
Başarılı ve başarısız test senaryoları oluşturma
Mocha ve ile test senaryoları yazarken Chai, hem başarılı hem de başarısızlık senaryolarını kapsamak önemlidir. Hem başarılı hem de başarısızlık senaryoları için test senaryoları oluşturmaya ilişkin örnekleri burada bulabilirsiniz:
1. Başarılı Test Durumu:
describe('myFunction',() => {
it('should return the expected result',() => {
// Arrange
const input = // provide the input for the function
const expected = // define the expected result
// Act
const result = myFunction(input);
// Assert
expect(result).to.equal(expected);
});
});
2. Arıza Test Durumu:
describe('myFunction',() => {
it('should throw an error when invalid input is provided',() => {
// Arrange
const invalidInput = // provide invalid input for the function
// Act and Assert
expect(() => myFunction(invalidInput)).to.throw(Error);
});
});
Başarılı test durumunda, işlev için girişi ve beklenen sonucu tanımlarsınız. Ardından, işlevi girdi ile çağırır ve sonucun beklenen değerle eşleştiğini iddia edersiniz.
Başarısızlık testi durumunda, işleve geçersiz girdi sağlarsınız ve bir hata attığını iddia edersiniz. Bu, işlevin geçersiz giriş veya hata koşullarını düzgün bir şekilde işlemesini sağlar.
Test senaryolarınızda hem başarılı hem de başarısızlık senaryolarını ele alarak, kodunuzun kapsamlı bir şekilde test edildiğinden ve farklı durumları uygun şekilde ele aldığından emin olabilirsiniz.