2015-09-24 15 views
13

Chúng tôi đang sử dụng Chai's BDD API để viết các bài kiểm tra đơn vị.Làm thế nào tôi có thể kiểm tra điểm động bằng cách sử dụng chai?

Làm cách nào chúng ta có thể khẳng định sự bình đẳng dấu chấm động?

Ví dụ, nếu tôi cố gắng làm cho khẳng định này để kiểm tra giá trị trả về 66⅔%:

expect(percentage).to.equal(2/3 * 100.0); 

tôi nhận được thất bại này:

AssertionError: expected 66.66666666666667 to equal 66.66666666666666 
Expected :66.66666666666666 
Actual :66.66666666666667 

Trả lời

5

Khẳng định within thể được sử dụng để kiểm tra cho dù số dấu phẩy động có gần kết quả dự định của nó hay không:

expect(percentage).to.be.within(66.666, 66.667); 
16

Tôi đã xem xét g cho điều này quá, và ngoài câu hỏi này, tôi cũng tìm thấy this discussion liên quan đến một yêu cầu tính năng dẫn đến việc bổ sung closeTo. Với điều đó, bạn có thể chỉ định một giá trị và +/- delta, vì vậy về cơ bản nó cho phép bạn chỉ định độ chính xác để kiểm tra kết quả.

percentage.should.be.closeTo(6.666, 0.001); 

Điều này không hoàn hảo vì điều này sẽ chấp thuận bất kỳ số nào từ 6,665 đến 6,667.

Các vấn đề liên quan