【发布时间】:2016-08-09 20:42:21
【问题描述】:
我在 ember-cli 上创建了一个验收测试,以检查用户何时访问某个 URL,然后单击该页面上的“取消”按钮,该页面应重定向到其他 URL。
运行测试时出现此错误:
"如果取消按钮是,则在重定向到上一个 URL 期间承诺被拒绝 clicked: Element .close-button not found"。
但是我的模板上有那个元素。有人可以建议我在这里缺少什么或建议我可以阅读以解决此错误的文档吗?
这是我的验收测试:
import { test } from 'qunit';
import moduleForAcceptance from '/tests/helpers/module-for-acceptance';
moduleForAcceptance('Acceptance | test/company');
test('Redirects to previous URL if cancel button is clicked', function() {
return visit('test/company/add').then(function(){
return click('.close-button');
}).then(function(assert){
assert.equal(currentURL(), 'test/company');
});
});
我也试过这个测试,但我不断收到类似的错误:
test('Redirects to previous URL if cancel button is clicked', function(assert) {
visit('/test/company/add');
click ('.close-button');
andThen(function() {
assert.equal(currentURL(), '/test/company');
});
});
这是错误:
错误:找不到元素 .close-button。
这是我有取消按钮(add.hbs)的模板的一部分
<div class="form-add">
<a href="#" class="close-button" {{action 'cancel'}}>Close</a>
</div>
这是控制器,其中定义了“取消”操作:
actions: {
cancel() {
if (this.get('isSaved')) {
return;
}
this.transitionToRoute('test/company');
}
}
【问题讨论】:
-
您是否尝试在第二种方法中将 click 放入您的 andThen() 中?
标签: ember.js acceptance-testing