访问将会很好,我看到右下角的实时应用程序页面,但是相同的断言从未发生过,基本上测试总是“正在运行”并且没有任何断言,任何指导都会非常感激,我正在使用ember-cli 0.1.11和ember 1.9.1,我正在测试localhost:4200 / provider / tests我的baseUrl设置为'/ provider /'
import Ember from 'ember';
import startApp from '../helpers/start-app';
var application;
module('Acceptance: Login', {
setup: function() {
application = startApp();
},
teardown: function() {
Ember.run(application, 'destroy');
}
});
test('visiting /login', function() {
visit('/login');
andThen(function() {
equal(currentPath(), 'login');
});
});
我的startApp看起来像这样
import Ember from 'ember';
import registerAcceptanceTestHelpers from './201-created/register-acceptance-test-helpers';
import Application from '../../app';
import config from '../../config/environment';
import 'simple-auth-testing/test-helpers';
export default function startApp(attrs) {
var application;
var attributes = Ember.merge({}, config.APP);
attributes = Ember.merge(attributes, attrs); // use defaults, but you can override;
Ember.run(function() {
application = Application.create(attributes);
application.setupForTesting();
registerAcceptanceTestHelpers();
application.injectTestHelpers();
});
return application;
}
答案 0 :(得分:2)
好的,所以我发现问题与
有关“我们通过run.later在应用程序中运行了几个预定的计时器
当测试操作(例如点击)超出我们应用程序中的登录时,计时器将启动,所有后续的操作都将被阻止。“
“这导致的问题是Ember.Testing使用的等待直到所有计时器都被执行后再继续运行。由于这个轮询计时器,我的大多数路由都不会发生这种情况。”
这里和这里提到
https://github.com/emberjs/ember.js/issues/3008#issuecomment-73246784
http://discuss.emberjs.com/t/proper-way-to-handler-timers-w-ember-testing/4693
希望这有助于人们
答案 1 :(得分:1)
我遇到了同样的问题,但当我使用ember-cli-coffeescript
时。我甚至无法进行简单的综合测试。我的应用程序是使用旧的ember cli生成的,然后我更新了cli版本,但似乎我已弃用测试蓝图生成。我运行了ember new
,安装了ember-cli-coffeescript
并生成了简单的acceptance-test
。我注意到存在一些差异,您无法在application
中返回module.setup
。
<小时/> 在CoffeeScript中,显式地从
setup
hook中返回任何内容:
module 'Acceptance: Login',
setup: ->
application = startApp()
###
Don't return as Ember.Application.then is deprecated.
Newer version of QUnit uses the return value's .then
function to wait for promises if it exists.
###
return
它是使用正确的钩子等动态生成的,但如果您之前使用的是旧版本,则必须重新安装ember-cli-coffeescript
插件:
ember install:addon ember-cli-coffeescript
我希望能解决某些挫折和时间。
答案 2 :(得分:0)
您的测试文件的名称是什么?惯例是在文件名中包含-test
后缀。
如果您没有,那么您的文件将不会被识别为测试文件。在您的情况下,它可能是login-test.js
。
这有帮助吗?