gpt4 book ai didi

javascript - 测试中如何保证jasmine的expect()被执行

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

我对 Angular 应用程序进行了这样的测试:

it("should return false if all products loaded", function () {
$httpBackend.flush();
scope.loadNextProducts(15).then(function (isThereMoreToLoad) {
expect(isThereMoreToLoad).toBe(false);
});
scope.$apply();
});

如果我忘记写 ether $httpBackend.flush();scope.$apply(); 测试将永远不会到达 expect()部分和测试将成功。

有没有办法确保 jasmine 测试执行了 expect(),如果不执行则应该失败?

比如指定 it() 期望有多少 expect(),或者告诉 jasmine 每个测试应该至少执行一个 expect() 否则它应该失败。

最佳答案

试试这个:

  afterEach(function() {
$httpBackend.verifyNoOutstandingExpectation();
$httpBackend.verifyNoOutstandingRequest();
});

嗯,这应该验证您的测试没有未被访问的期望,并且它还应该验证您所有预期的服务器调用都已被调用。

您可以在 Angular $backend docs 上找到更多信息

关于javascript - 测试中如何保证jasmine的expect()被执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15780776/

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