gpt4 book ai didi

linux - Angular/Jasmine : $httpBackend. expectGET 适用于 Mac,不适用于 Linux

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:28:54 26 4
gpt4 key购买 nike

我有以下设置来测试指令:

beforeEach(inject(function($compile, $rootScope, $injector) {
$httpBackend = $injector.get('$httpBackend');

var html = '<password-strength-bar password-to-check="password"></password-strength-bar>';
scope = $rootScope.$new();
elm = angular.element(html);
$compile(elm)(scope);

$httpBackend.expectGET('l10n/en.js').respond({});
$httpBackend.expectGET('tpl/page_signin.html').respond({});
}));

这在 Mac 上运行良好。但是,当我在 Linux 上运行相同的代码时,它会失败并出现以下错误。它是一个 headless Linux 机器,但我在 karma.conf.js 中使用 PhantomJS 作为我的“浏览器”。

Error: Unsatisfied requests: GET tpl/page_signin.html

我确认两个操作系统都使用相同版本的 Node。

类似地,我安装了 Chrome 和 Xfvb(通过 Jenkins)来运行由 Protractor 驱动的 e2e 测试。以下命令在我的 Mac 本地运行时运行良好,但在 Linux 上运行失败。

it('should render signup when user clicks on "Create one" link', function () {
var signupLink = element(by.linkText('Create one'));
expect(signupLink.isDisplayed()).toBe(true);
signupLink.click();
expect(element.all(by.css('.wrapper')).first().getText()).
toMatch(/Hi there, we're so glad you're here./);

在 Jenkins(在 Linux 上)中,错误是:

    Failures:
1) account signup should render signup when user clicks on "Create one" link
Message:
[31m Expected '' to match /Hi there, we're so glad you're here./.[0m
Stack:
Error: Failed expectation
at Object.<anonymous> (/var/lib/jenkins/jobs/myapp/workspace/tests/e2e/account.js:27:17)
at runMicrotasksCallback (node.js:337:7)

知道为什么测试在 Mac 上运行良好,但在 Linux 上运行不正常吗?

最佳答案

原来这是由于我的 Protractor 测试使用了 by.linkText('Create one') 造成的。一旦我向链接添加了一个 id 并使用了 by.id('create-account'),它就起作用了。

我还发现使用 $('.alert') 或 by.css('alert') 的效果几乎不如 by.id。特别是当您单击一个按钮并等待下一个屏幕上出现某些内容时。例如:

var alert = element(by.id('success'));
browser.driver.wait(protractor.until.elementIsVisible(alert));

关于linux - Angular/Jasmine : $httpBackend. expectGET 适用于 Mac,不适用于 Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30383760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com