我正在为Ember.js设置ENV.HELPER_PARAM_LOOKUPS = true
,这样linkTo帮助器将执行属性查找,而不是硬编码的路由。
我设置环境变量的方式在我的application.html.erb布局的标记内(顺便说一句,我使用的是rails 4.0),如下所示:
<script type="text/javascript" >
// Ember environment variable
ENV = {
HELPER_PARAM_LOOKUPS: true
};
</script>
但是,当我运行qunit测试时,它给出的错误如下:
尝试链接到路由“view.path.index”失败.路由器在其可能得路由中未找到“view.path.index”:
它还提供了过时警告:
沮丧:您向linkTo帮助器提供了一个不带引号的目标路由参数view.path。很快,这将执行属性查找,而不是将其视为字符串。要消除此警告,请将view.path用引号括起来。要选择此新行为,请设置ENV.HELPER_PARAM_LOOKUPS = true
显然,qunit没有按照我的意图配置Ember.js。如何让qunit在加载测试时读取我的ember环境设置。
下面是我的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!");
});
});
1条答案
按热度按时间7xllpg7q1#
我认为您的问题是因为您在导入emberjs脚本后声明了
ENV
。如果您在之前宣告,请使用:
这是可行的,但是,在ember脚本之后,你需要在ember命名空间中声明:
这是因为,在初始化时,它会:
而在
linkTo
帮助器中,始终使用Ember.ENV
: