2016-09-16 9 views
1

Emberプロジェクトに受け入れテストを追加し始めました。ログインするために私のアプリにしようと1でオフに開始:Ember受け入れテストがAJAXと連携していません

import { test } from 'ember-qunit'; 
import moduleForAcceptance from '../helpers/module-for-acceptance'; 

moduleForAcceptance('Acceptance | login'); 

test('logging in', function(assert){ 
    visit('/login'); 

    andThen(function(){ 
    assert.equal(currentURL(), '/login'); 
    }); 

    fillIn('#login input[name=email]', '[email protected]'); 
    fillIn('#login input[name=password]', 'password'); 
    click('#login button[type=submit]'); 

    andThen(function(){ 
    assert.equal(currentURL(), '/dashboard'); 
    }); 
}); 

しかし、認証のための私のREST APIへのAJAX呼び出しが失敗したので、それが失敗しました。アプリが正常に動作しているときは正常に動作しますが、受け入れテストでは正常に動作しません。

Ember AJAX Request POST https://127.0.0.1:8081/login returned a 0\nPayload (Empty Content-Type)\n"" 

私のAPIも呼び出しを取得していないので、これはRESTリクエストを送信すると、エラーのようだ:

私はember-ajaxによって返される次のエラーに戻ってそれをトレースしてきました。私はそれがjQueryのAJAXメソッドに介して送信されます直前node_modules/ember-ajax/addon/mixins/ajax-request.jshashオブジェクトをチェックしました:

{ type: 'POST', 
    data: { email: '[email protected]', password: 'password' }, 
    url: 'https://127.0.0.1:8081/login', 
    dataType: 'json', 
    contentType: 'application/x-www-form-urlencoded; charset=UTF-8', 
    headers: { Authorization: 'Bearer undefined; PublicKey Ab732Jte883Jiubgd84376HhhndikT6' } } 

contentTypeが定義されています。これは、正常に実行されているアプリケーションで同じAJAX呼び出しを行うときに、ちょうどhashがどのように見えるかです。

AJAX呼び出しが動作しないようにするEmberの受け入れテストは何ですか?私はそれが動作するように変更/設定する必要があることを私が認識していない設定または環境のプロパティがあると思われる。

私が実行している:

  • エンバー-CLI:2.8.0
  • ノード:4.5.0
  • エンバー-AJAX:2.5.1
  • 燃えさし-CLI-qunit:3.0 0.1
  • phantomjs:2.1.7

答えて

1

何eejit!ローカルのREST APIに無効なSSL証明書があります。だから私のtestem.jsファイルでPhantomJSにSSLエラーを無視するように伝える必要があっただけです。

"phantomjs_args": [ 
    "--ignore-ssl-errors=true" 
], 
関連する問題