【问题标题】:Protractor: run tests without changes in configuration file量角器:在不更改配置文件的情况下运行测试
【发布时间】:2015-08-12 14:48:42
【问题描述】:

我在 Idea 中编写和运行我的测试。但这不是很舒服,因为当我更改配置文件时,我总是应该在配置文件中更改规范名称并在 Idea 中编辑配置。 我真的很想找到一种方法来运行我的测试而不更改配置。也许通过双击(这是一个梦想!)或通过更改配置中的某些内容。 有人知道我该怎么做吗?还是不可能?

【问题讨论】:

    标签: angularjs protractor angularjs-e2e e2e-testing


    【解决方案1】:

    您需要的是"Focused Specs" Jasmine 功能。

    无需更改配置,只需使用fdescribe/fit 标记您要运行的测试即可。

    还有像 xdescribe/xitpending 这样的东西可能对您有用。


    另外,为了避免意外地将fdescribes 或fits 提交到代码库,我们使用eslinteslint-plugin-jasmine 插件在静态代码分析步骤中捕获这些问题。示例输出:

    test/e2e/specs/test.spec.js
      5:0  error  Unexpected fdescribe  jasmine/no-focused-tests
    

    【讨论】:

    • 根据内置 Jasmine 的版本,它可以不是fdescribe/fit,而是ddescribe/iit
    【解决方案2】:

    this 主题中,他们讨论了这个问题,这似乎不是一件容易的事,但你可以挖掘更多。

    您可以做的是在运行配置中添加 --suite 选项(在 Idea 中,如果您使用节点运行 e2e,它在运行/调试配置下称为“应用程序参数”),例如

    --suite=views
    

    您甚至可以制作单独的运行配置以仅运行特定套件,并使特定套件仅保存单个文件,这将有效地按照您的意愿工作。

    据我所知,您不能以这种方式运行单个测试,您需要更改套件配置中的测试文件。您应该能够毫无问题地评论和取消评论文件,所以它不应该有那么大的麻烦,但您也可以尝试编写外部脚本或工具来为您自动化它。

    编辑:如果您使用的是 expect/it 等,您也可以尝试 this solution

    【讨论】:

      【解决方案3】:

      如果我理解您的问题,我相信grunt-protractor-runner grunt 插件可以让您通过命令行运行不同的测试和不同的选项。

      这是一个如何从命令行运行测试的示例:

      grunt protractor --specs=specs/some-test.js 
      

      有很多关于使用量角器设置 grunt 的教程。


      您也不必只做一次测试。你可以像下面这样指定

      多个个人规格:

      grunt protractor  -specs=tests/barret/Smoke_Create_Course_2Plus_TxtBook_spec.js,tests/barret/Smoke_Create_Course_eBook_TxtBook_spec.js,tests/barret/Smoke_Create_Course_Meet_Days_spec.js
      

      包含规范的多个文件夹:

      grunt protractor -specs=tests/barret/*.js,tests/barret/with_textbook/*.js,tests/barret/no_textbook/*.js
      

      此外,您还可以使用套件。

      【讨论】:

        猜你喜欢
        • 2017-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-03
        • 1970-01-01
        • 2014-09-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多