2013-09-04 12 views
8

Ist es möglich, Wild Cards in eckigen Mocks zu verwenden? zum Beispiel:Ist es möglich, Wild Cards in angularjs mocks zu verwenden?

$httpBackend.when('GET', '/api/checklists/*').respond({ userId: 'userX' }, { 'A-Token': 'xxx' }); 

statt:

$httpBackend.when('GET', '/api/checklists/123').respond({ userId: 'userX' }, { 'A-Token': 'xxx' }); 
+0

Sie bedeutet so etwas wie ''/ api/checklists /: id'' – tymeJV

Antwort

13

Die documentation legt nahe, dass es in einem regulären Ausdruck kommt, so dass man etwas tun kann:

$httpBackend.when('GET', /\/api\/checklists\/[1-9][0-9]*/) 

Dies erfordert die passe eine Integer-ID mit einer Länge von mindestens 1 an, die nicht mit Null beginnt. Natürlich ist dies nur ein Beispiel. Erstellen Sie eigene reguläre Ausdrücke, die übereinstimmen.

+1

Nahm mich eine Weile, um meinen Kopf rund um die Syntax regulärer Ausdrücke Javascript. Danke –

+0

Hier ist ein funktionierendes Beispiel: http://plnkr.co/edit/Psjuuh?p=preview –

+0

Beachten Sie, dass während regexes unterstützt werden, eine '$ httpBackend' Erwartung wird immer noch nur eine Anfrage und darüber hinaus Reihenfolge oder Erwartungen entsprechen ist wichtig. Wenn Sie also N Anfragen haben, müssen Sie (genau) N '$ httpBackend.when' Aufrufe machen. Dies begrenzt die Nützlichkeit der Platzhalter sehr. –

Verwandte Themen