量角器:运行测试而不更改配置文件

时间:2015-08-12 14:48:43

标签: angularjs protractor angularjs-e2e e2e-testing

我在Idea中编写并运行我的测试。但它不是很舒服,因为我总是应该更改配置文件中的spec-name,并在更改配置文件时在Idea中编辑配置。 我真的想找到一种方法来运行我的测试而不需要改变配置。也许通过双击(这是一个梦想!)或通过改变配置中的东西。 有人知道我该怎么办吗?或者这是不可能的?

3 个答案:

答案 0 :(得分:1)

this主题中,他们讨论了这个问题,似乎并不容易实现,但你可以挖掘更多。

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

--suite=views

您甚至可以单独运行配置来运行特定的套件,并使特定的套件只能容纳单个文件,这样可以按照您的需要进行有效的工作。

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

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

答案 1 :(得分:1)

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

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

您可能会发现xdescribe/xitpending等有用的内容。

此外,为了避免意外将fdescribefit提交到代码存储库,我们已使用eslinteslint-plugin-jasmine插件来捕获这些静态代码分析步骤中的问题。样本输出:

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

答案 2 :(得分:1)

如果我理解你的问题,我相信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

另外你也可以使用套件。