/lesson7

Primary LanguageJavaScript

MOCHA trong nodejs

Mocha là một thư viện JavaScript được sử dụng để viết các bài kiểm tra cho ứng dụng Node.js hoặc trình duyệt web. Mocha cung cấp cho chúng ta một bộ công cụ để viết các bài kiểm tra (test suites) và các trường hợp kiểm tra (test cases) của ứng dụng của chúng ta.

Để sử dụng Mocha trong ứng dụng Node.js, bạn cần cài đặt Mocha bằng npm:

npm install --save-dev mocha

Sau khi cài đặt xong, bạn có thể viết các bài kiểm tra và các trường hợp kiểm tra của mình. Ví dụ, để viết một bài kiểm tra đơn giản cho hàm tính tổng hai số, bạn có thể tạo một tệp test.js với nội dung sau:


function sum(a, b) {
  return a + b;
}

describe('Sum function', () => {
  it('should return the sum of two numbers', () => {
    assert.equal(sum(1, 2), 3);
  });
});

Trong đó hàm decribe sử dụng để mo tả bài kiểm tra, và hàm it để mô tả các trường hợp xảy ra.Trong trường hợp này chúng ta đang kiểm tra hàm sum có trả về đúng giá trị hay không

CHAI trong Node.js

Chai là một thư viện JavaScript được sử dụng để viết các bài kiểm tra (test cases) cho ứng dụng Node.js hoặc trình duyệt web. Chai cung cấp cho chúng ta một bộ công cụ để viết các câu khẳng định (assertions) về ứng dụng của chúng ta.

Để sử dụng Chai trong ứng dụng Node.js, bạn cần cài đặt Chai bằng npm:

npm install --save-dev chai

Sau khi cài đặt xong, bạn có thể sử dụng Chai trong bài kiểm tra của mình. Ví dụ, để kiểm tra hàm tính tổng hai số, bạn có thể sử dụng Chai như sau:

const expect = chai.expect;

function sum(a, b) {
  return a + b;
}

describe('Sum function', () => {
  it('should return the sum of two numbers', () => {
    expect(sum(1, 2)).to.equal(3);
  });
});

Hàm describe dùng để mô tả bài kiểm tra, hàm it để mô tả các trường hợp kiểm tra, Chúng ta sử dụng hàm expect() để tạo các câu khẳng định (assertions) về kết quả của hàm sum(). Trong trường hợp này, chúng ta đang kiểm tra xem hàm sum() có trả về đúng tổng của hai số hay không.

Instanbul trong nodejs

Istanbul là một công cụ cho phép đo độ bao phủ mã nguồn (code coverage) trong các ứng dụng Node.js hoặc trình duyệt web. Nó cho phép bạn biết được tỷ lệ mã nguồn đã được kiểm tra trong các bài kiểm tra (test cases) của bạn.

Để sử dụng Istanbul trong Node.js, bạn cần cài đặt nó bằng npm: npm install --save-dev istanbul

Sau khi cài đặt xong, bạn có thể chạy bài kiểm tra của mình với Istanbul bằng lệnh:

istanbul cover test.js

Trong đó, test.js là file chứa các bài kiểm tra của bạn. Sau khi chạy lệnh này, Istanbul sẽ hiển thị tỷ lệ bao phủ mã nguồn của bạn trong bài kiểm tra.

Bạn cũng có thể sử dụng Istanbul để xem chi tiết hơn về tỷ lệ bao phủ của từng dòng mã nguồn. Để làm điều này, bạn có thể chạy lệnh sau:

istanbul cover test.js --report lcov

Lệnh này sẽ tạo ra một báo cáo dưới định dạng LCOV, cho phép bạn xem tỷ lệ bao phủ của từng dòng mã nguồn.

Istanbul cũng có thể được tích hợp vào các công cụ khác như Mocha hoặc Jasmine để tự động đo độ bao phủ mã nguồn trong quá trình thực thi các bài kiểm tra của bạn.