代码之家  ›  专栏  ›  技术社区  ›  A B

将Ember_simple_auth与验收测试集成(使用Mirage)

  •  1
  • A B  · 技术社区  · 8 年前

    我创建了一个使用OMDb API(开放电影数据库)的基本测试应用程序 some help from SO posters 一切都很好。

    我在项目中添加了embersimpleauth(版本1.0.0),并开始了开发方面的工作。基本上,有一个简单的登录屏幕可以进入主应用程序。它正在按预期工作。

    然而,我的两个基本验收测试现在都不起作用了。在将ember简单认证组件和功能添加到应用程序后,我在验收测试文件中添加了:

    import { currentSession, authenticateSession, invalidateSession } from 'movie-example/tests/helpers/ember-simple-auth';
    

    在测试中,我补充道:

    authenticateSession();
    

    测试现在失败,表示:

    Cannot read property '__container__' of undefined
    

    此外,如果我注释掉导入行和authenticateSession()调用,测试仍然失败,但因为DOM显然是完全空的。

    如果有人好奇/愿意,可以在回购中获得全部内容:git@github.com:bdrsgg/ember电影示例。git(分支=功能/成员简单身份验证)

    我想我有一些配置问题弄错了,或者类似的问题。感谢任何人能提供的帮助。

    编辑后添加:

    问题显然集中在身份验证上。例如,如果我从路由中删除AuthenticatedRouteMixin调用,而忽略authenticateSession()调用,则测试通过。

    1 回复  |  直到 7 年前
        1
  •  1
  •   A B    8 年前

    事实证明,我只是没有正确地声明早期的应用程序变量。长话短说,当我将authenticateSession()更改为authentitateSessions(this.application)时,一切都如愿。