2016-08-10 35 views
2

如何測試chai中的正則表達式屬性?加分:我實際上想測試一個使用chai-as-promised的承諾返回的對象的屬性(但我猜如果我知道非承諾方式chai-as-promised應該只是以相同的方式工作)。柴(如承諾)匹配屬性

我的功能

function foo() { 
    return Promise.resolve({ bar: 'baz' }); 
} 

我的測試(我的想法):

// Non-Promise-way 
foo().should.match.property('bar', /baz/);  

// Promise-way 
foo().should.eventually.match.property('bar', /baz/); 

(但沒有match.property

+0

是關於正確的方法這個問題,檢查是否有物業或有關如何檢查該屬性與一個正則表達式? –

+0

它的組合。我發現它是'foo()。should.eventually.have.property('bar')。and.match(/ baz /);'。有人也回答了這個問題,但隨後將其刪除。我現在看到我需要更新我的問題。 – Lukas

+0

我刪除了它,因爲我沒有做一個匹配,而是一個平等的支票。 –

回答

3

Chai API docs我得出這樣的:

foo().should.have.property('bar').and.match(/baz/); 

或爲承諾的風格:

foo().should.eventually.have.property('bar').and.match(/baz/);