0

我发布了一个类似于 githublogin 的 Meteor 代码示例,但用于 Google 登录过程(https://github.com/lc3t35/googlelogin如何使用 Meteor.loginWithGoogle 获取 Google+ 个人资料?),它工作正常,所以我决定添加单元测试在这个项目上使用 rtd ( https://github.com/lc3t35/googlelogin/tree/unittest ),只是为了好玩 :) 需要进行一些修改才能运行 rtd ( https://github.com/xolvio/rtd/pull/ 54 )。使用 rtd,您可以运行 2 个应用程序,一个在端口 3000 上的标准应用程序和一个在端口 8000 上的 build/mirror_app 用于代码覆盖检测。您可以手动运行它们,标准应用程序运行良好,但 mirror_app 中的应用程序失败:

在设置中更改您的凭据;运行 grunt 以便在 build 中更新 mirror_app,停止所有操作。转到 build/mirror_app 并运行:meteor --settings settings.json --port 8000 点击 LoginWithGoogle,显示带有登录名/密码的 google 窗口,输入登录名/密码并点击 Connection,然后一个新的弹出窗口要求输入接受与您的应用程序共享数据,窗口关闭并且错误是

错误:Accounts.LoginCancelledError

(更多细节在这里:https ://github.com/lc3t35/googlelogin/issues/1 )

当您使用 grunt 运行测试时,行为是相同的,测试并未全部完成(但不显示错误)并且 grunt 显示“完成,没有错误”,这也不是预期的行为。

我正在寻找一对程序员来审查代码...

4

1 回答 1

0

使用 sam@xolv.io 查看代码后,我们发现在 fixture.js (test/acceptance/fixtures) 中不需要处理 _oauth。

大师现在包括带有 rtd 的测试:https ://github.com/lc3t35/googlelogin

应该实施更好的隔离(https://docs.google.com/presentation/d/1nHzs64rDpSbrKrZ0YvQ5iaG26t-XcLCCAGth6Pkr5f4/edit#slide=id.gee27c908_2301 )来运行测试而不需要互联网连接并避免谷歌身份验证延迟。

发出了通过烟雾测试扩展 RTD 的请求 ( https://github.com/xolvio/rtd/issues/70 )

于 2013-09-12T20:27:28.733 回答