将 Ember_simple_auth 与验收测试集成(使用 Mirage)
Integrating Ember_simple_auth with acceptance tests (using Mirage)
我创建了一个使用 OMDb API(开放电影数据库)的基本测试应用程序, 一切正常。
我将 ember-simple-auth(版本 1.0.0)添加到项目中,并让开发方面的事情顺利进行。基本上有一个简单的登录屏幕可以进入主应用程序。它按预期工作。
但是,我的两个基本验收测试现在不起作用。将 ember-simple-auth 组件和功能添加到应用程序后,我在验收测试文件中添加了:
import { currentSession, authenticateSession, invalidateSession } from 'movie-example/tests/helpers/ember-simple-auth';
并且在测试本身中,我添加了:
authenticateSession();
现在测试失败,表示:
Cannot read property '__container__' of undefined
此外,如果我注释掉导入行和 authenticateSession() 调用,测试仍然会失败,但是因为 DOM 显然完全是空的。
如果有人curious/willing,那么整个事情都可以在回购中找到:git@github.com:bdrsgg/ember-movie-example.git(分支=feature/ember-simple-auth)
我假设有一些配置问题我弄错了,或者类似的问题。感谢任何人可以提供的帮助。
编辑添加:
问题似乎确实集中在身份验证上。例如,如果我从路由中删除 AuthenticatedRouteMixin 调用,并省略 authenticateSession() 调用,则测试通过。
原来我只是没有正确声明早期的应用程序变量。长话短说,当我将 authenticateSession() 更改为 authenticateSession(this.application) 时,一切按预期进行。
我创建了一个使用 OMDb API(开放电影数据库)的基本测试应用程序,
我将 ember-simple-auth(版本 1.0.0)添加到项目中,并让开发方面的事情顺利进行。基本上有一个简单的登录屏幕可以进入主应用程序。它按预期工作。
但是,我的两个基本验收测试现在不起作用。将 ember-simple-auth 组件和功能添加到应用程序后,我在验收测试文件中添加了:
import { currentSession, authenticateSession, invalidateSession } from 'movie-example/tests/helpers/ember-simple-auth';
并且在测试本身中,我添加了:
authenticateSession();
现在测试失败,表示:
Cannot read property '__container__' of undefined
此外,如果我注释掉导入行和 authenticateSession() 调用,测试仍然会失败,但是因为 DOM 显然完全是空的。
如果有人curious/willing,那么整个事情都可以在回购中找到:git@github.com:bdrsgg/ember-movie-example.git(分支=feature/ember-simple-auth)
我假设有一些配置问题我弄错了,或者类似的问题。感谢任何人可以提供的帮助。
编辑添加:
问题似乎确实集中在身份验证上。例如,如果我从路由中删除 AuthenticatedRouteMixin 调用,并省略 authenticateSession() 调用,则测试通过。
原来我只是没有正确声明早期的应用程序变量。长话短说,当我将 authenticateSession() 更改为 authenticateSession(this.application) 时,一切按预期进行。