gpt4 book ai didi

ember.js - 验收测试重定向到特定的URL

转载 作者:行者123 更新时间:2023-12-02 06:07:21 25 4
gpt4 key购买 nike

我在 ember-cli 上创建了一个验收测试,以检查用户何时访问某个 URL,然后单击该页面上的“取消”按钮,该页面应重定向到其他 URL。

运行测试时出现此错误:

"Promise rejected during Redirects to previous URL if cancel button is 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');
});
});

这是错误:

Error: Element .close-button not found.



这是我有取消按钮(add.hbs)的模板的一部分
<div class="form-add">
<a href="#" class="close-button" {{action 'cancel'}}>Close</a>
</div>

这是 Controller ,其中定义了“取消”操作:
actions: {
cancel() {
if (this.get('isSaved')) {
return;
}
this.transitionToRoute('test/company');
}
}

最佳答案

访问和单击是返回 promise 的测试助手。通常,一旦您的 promise 得到解决,您将执行进一步的测试。

尝试这样做:

test('Redirects to previous URL if cancel button is clicked', function(assert) {
visit('/test/company/add');
andThen(()=>{
click ('.close-button');
andThen(()=>{
assert.equal(currentURL(), '/test/company');
})
});
});

关于ember.js - 验收测试重定向到特定的URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38860063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com