【问题标题】:Is there an example of AngularJS app generated by Yeoman with e2e tests and $httpBackend?是否有 Yeoman 使用 e2e 测试和 $httpBackend 生成的 AngularJS 应用程序示例?
【发布时间】:2013-10-24 11:39:29
【问题描述】:

是否有一个由 yo angular generator 生成的 AngularJS 应用程序示例,该应用程序具有来自 ngMockE2E 模块的 $httpBackend 的 e2e 测试?最好使用用于 CI 和开发的单一和连续版本。

看起来使用 $httpBackend 需要创建一个依赖于原始应用模块和ngMockE2E 模块的新应用,并且需要新的 index.html 文件来加载这个新应用。

如果测试使用不同的应用程序,这是否意味着我应该修改配置以将测试生成的文件存储在grunt server 命令(.tmp)生成的文件之外的其他位置,还是这些文件完全相同?我希望能够在使用 PhantomJS 在后台运行 e2e 测试时运行 grunt 服务器进行开发。

有没有人创建了一个任务,根据 index.html 自动生成修改后的 index-e2e.html 文件?这样它就会始终保持最新状态,也可以与 watch 一起使用,以便在原始 index.html 文件发生更改时自动重新生成它。

【问题讨论】:

    标签: angularjs yeoman angularjs-e2e yeoman-generator httpbackend


    【解决方案1】:

    您应该注意到 Angular 正在弃用 e2e 以支持量角器框架。另外请注意,e2e(以及量角器)非常慢。所以不建议像我们在单元测试中那样在后台连续运行。也就是说,对于您的问题 - 不,您不需要不同的应用程序、索引文件等(除非您需要来自 e2e 的覆盖率数据,在这种情况下,您需要检测 js 文件,而这将需要不同的索引.html,可以使用sed 在 grunt 任务中创建)。您需要的是一个不同的 karma.conf.js 文件,一个不同的 grunt karma 任务 ro 引用它,包括 karma.conf 的files 部分中的 ng-scenario。并运行某种grunt testServer 任务来运行测试服务器,这与开发咕噜服务器不同。您可以与工头或类似的东西一起运行(如this SO [question]中所述。(How can I automate both E2E and unit tests with Yeoman & AngularJS?)并回答)。如果这是您正在寻找的 - 您可以在this PR 中找到一个 karma.conf.js 示例,用于 e2e 和单元。再说一次,不要对当前的 e2e 框架进行大量投资。更好地使用新的闪亮量角器

    【讨论】:

    • 谢谢。 Angular docs 声明 “要设置应用程序以使用此 http 后端运行,您必须创建一个依赖于 ngMockE2E 和您的应用程序模块并定义假后端的模块。” 所以我需要有一个单独的 index.html 文件和这个新的应用程序/模块来使用假后端?
    猜你喜欢
    • 2013-04-26
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    相关资源
    最近更新 更多