gpt4 book ai didi

javascript - TypeError : expect(. ..).to.startsWith 不是函数 - chai 和 chakram

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:39:21 25 4
gpt4 key购买 nike

我开始写一些自动化测试(API)

现在我试着对这个端点做:

https://dog.ceo/api/breeds/image/random

所以我添加到我的函数中

expect(response.body.message).to.startsWith('https://images.dog.ceo/breeds/');   

在测试开始时:

    var chakram = require('chakram');
var chai = require('chai');
chai.use(require('chai-string'))
expect = chai.expect; // Using Expect style
expect = chakram.expect;

早些时候我没有遇到任何问题,但是在运行测试后有了这个“expect starts...”我得到了:TypeError: expect(...).to.startsWith 不是函数 - chai 和 chakram

谁能帮帮我?

谢谢

最佳答案

你不需要 chai-string 你可以这样做:

expect(response.body.message).to.be.a('string').and.satisfy(msg => msg.startsWith('https://images.dog.ceo/breeds/'));

甚至可以在满足的情况下做正则表达式。

或者比这个更好,只需使用match:

const { escapeRegExp } = require('lodash');
expect(response.body.message).to.be.a('string').and.match(/^https:\/\/images\.dog\.ceo\/breeds\//i);
expect(response.body.message).to.be.a('string').and.match(new RegExp('^' + escapeRegExp('https://images.dog.ceo/breeds/'), 'i')); // this is preferred way so you don't have to worry about escaping, rely on lodash method to escape

关于javascript - TypeError : expect(. ..).to.startsWith 不是函数 - chai 和 chakram,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53979229/

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