是否可以强制Protractor通过或跳过测试并向控制台发送消息?

Chr*_*nor 4 automated-tests qa angularjs protractor jasmine2.0

我正在使用具有多个外部系统依赖性的系统.这些外部系统仅连接到某些SDLC环境(本地,开发,qa和prod).由于这些限制,我在我的一些量角器测试中进行了环境检查,以确定它们在执行之前所处的环境.

例如:

正在运行"测试A",但它依赖于与"外部系统1"的交互,后者仅针对QA环境启用.因此,如果在"本地","开发"或"产品"中运行"测试A",则测试将失败,并使用fail()向控制台发送消息.

我的问题是......有没有办法强制测试通过跳过类似于使用fail()的消息?我试图在测试实际传递或失败的功能原因之间进行描述,以及是否由于我的报告中的环境依赖性而简单地跳过了测试.

我知道当你使用"fdescribe"或"fit"时你可以在技术上"跳过"测试,控制台会打印出类似下面的内容

Executed 1 of 25 specs (1 FAILED) (24 SKIPPED) in 18 secs.
Run Code Online (Sandbox Code Playgroud)

如何通过我的测试调用跳过功能?

Rag*_*m.k 10

x之前添加it{}

describe("", function() {
});

it('Would perform this test', function() {
});

xit('would skip this test', function() {
});
Run Code Online (Sandbox Code Playgroud)


Mic*_*nov 7

Jasmine发布了一个全局函数pending(message),它的工作原理非常相似fail(message).您应该在规范中调用它以将其标记为挂起(跳过它):

it('should be skipped', function () {
    pending('Force skip');
    expect(true).toBe(true);
});
Run Code Online (Sandbox Code Playgroud)

查看工作样本

以下是关于它的Jasmine文档中的一节.

  • 这似乎对我有用.虽然Protractor目前将标记为"待定"的测试解释为在控制台中使用以下响应失败.消息:失败:=>标记为待定此问题已报告[此处](https://github.com/angular/protractor/issues/2454).它目前是开放的,未分配的.一旦在Protractor中解决了这个bug,我相信我会得到我想要的报告结果. (3认同)