Tôi đang cố gắng triển khai các chức năng để in kim cương về phát triển thử nghiệm theo hướng kiểm tra trong javascript.Jasmine ném lỗi trên mong đợi() .Thay đổi thay vì xác định lỗi được ném
Diamond.prototype.outerSpace = function (current, widest) {
var currentValue = this.getIndexOf(current);
var widestValue = this.getIndexOf(widest);
if (currentValue > widestValue) {
throw new Error('Invalid combination of arguments');
}
var spaces = widestValue - currentValue;
return new Array(spaces + 1).join(' ');
};
Tôi gặp sự cố trong Xử lý lỗi. Hàm trên sẽ ném một lỗi, nếu currentValue lớn hơn widestValue.
Đây là đoạn tôi đại diện cho các thử nghiệm/spec:
it ("should throw an exception, if it is called with D and C", function() {
var outerSpace = diamond.outerSpace.bind(diamond, 'D', 'C');
expect(outerSpace).toThrow('Invalid combination of arguments');
});
Tôi đã thử còn với một chức năng ẩn danh trong mong đợi (..), nhưng điều này cũng không làm việc.
Thông báo Console là: Chức năng dự kiến sẽ ném 'Inval ...' nhưng nó ném Lỗi: Kết hợp các đối số không hợp lệ.
Tôi không hiểu, tôi nên làm gì với thông tin này.
Chỉnh sửa: Thật kỳ lạ, bởi vì nó hoạt động với Jasmine v.1.3, nhưng nó không hoạt động với hoa nhài v.2.3 tức là hay với nghiệp, mặc dù mã dựa trên hoa nhài.