我爲Ember.js設置了ENV.HELPER_PARAM_LOOKUPS = true
,因此linkTo幫助程序將執行屬性查找而不是硬編碼路由。 例如,我可以做{{linkTo view.path}}
如何在qunit中設置Ember環境變量
我設置環境變量是我application.html.erb佈局的標籤內的方式(我用的方式軌4.0),如下圖:
<script type="text/javascript" >
// Ember environment variable
ENV = {
HELPER_PARAM_LOOKUPS: true
};
</script>
然而,當我運行qunit測試,它提供了錯誤爲:
的企圖linkTo路線「view.path.index失敗。路由器並沒有在其可能的路徑找到「view.path.index」:
這也給了棄用警告:
棄用:您所提供view.path的quoteless目的地的路由參數linkTo幫手。很快,這將執行屬性查找,而不是被視爲字符串。要擺脫此警告,請將view.path換成引號。要選擇這種新行爲,請設置ENV.HELPER_PARAM_LOOKUPS = true
顯然,qunit沒有按照我的意圖配置Ember.js。如何在加載測試時使qunit讀取我的環境設置。
這裏是我的qunit測試代碼:
module("Frontend Test", {
setup: function() {
Ember.run(App, App.advanceReadiness);
},
teardown: function() {
App.reset();
}
});
test("Check HTML is returned", function() {
visit("/").then(function() {
ok(exists("*"), "Found HTML!");
});
});
不僅這是正確的答案,而且很快的答案!謝謝! 我正在閱讀一些其他的帖子,這讓我有一種印象,就是在加載ember之前必須設置ENV,這就是爲什麼我將它們放在
標籤中的原因。但顯然,它可以在Ember聲明之後設置,無論如何這都更有意義。 – lionel不客氣。我在jsfiddle中遇到一些問題時發現了這個問題,因爲代碼在emberjs導入後加載。所以在這種情況下,ENV從未爲我工作過。 –