2016-05-19 3 views
1

私はジャスミンを使用して角型アプリのテストを構築しています。ジャスミンhttpbackend模擬データを返すためのURL

私はいくつかのデータを返すためにAPI呼び出しをモックとしたいが、私のコントローラ上の私のAPIコールは、私が

@httpBackend.whenGET(/^\/api\/students/.*/).respond -> 
    [200, {data: 'subjects'}] 

it 'should have data in subjects', -> 
    expect(@scope.subjects).toBeUndefined() 
    @scope.getSubjects() 
    @httpBackend.flush() 
    expect(@scope.subjects).toBeDefined() 

を持っている私のテストでは

$scope.getSubjects = -> 
    $http.get "/api/students/#{$scope.freshBooking.StudentId}" 
    .then (response) -> 
    $scope.subjects = response.data.Subjects 

である私は、「未定義の期待というエラーを取得します定義します。"だから、私はapi呼び出しのためのデータを返さないと思います。

これを動作させるにはどうすればいいですか?私の正規表現は間違っていますか?

答えて

1

正規表現が正しくないようです。スラッシュエスケープするために「学生」の後に追加

^\/api\/students\/.* 

スラッシュ以下試してみてください、実際のAPIコールが最後にスラッシュを持っていないようregexでする最後にスラッシュを削除しました。

さらに正規表現グループは、学生ID

\/api\/students\/#(.*) //The brackets group would extract Student ID 
を抽出するために使用することができます
関連する問題