JEST收到的函数未抛出,但抛出了HTTPError

狮子座Literak

我正在使用JEST和Got测试端点。我预计会出现403禁止错误。以下代码从catch块中打印错误,并且失败,即相同的调用未引发错误。为什么?

    try {
        response = await api(`verify/${profile.auth.verifyToken}`, {method: 'POST'}).json();
    } catch (e) {
        console.log(e);
    }
    expect(async () => {
        response = await api(`verify/${profile.auth.verifyToken}`, {method: 'POST'}).json();
    }).toThrow();

输出:

console.log test/api.int.test.js:112
HTTPError: Response code 403 (Forbidden)
    at EventEmitter.<anonymous> (C:\dev\mezinamiridici\infrastructure\node_modules\got\dist\source\as-promise.js:118:31)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  name: 'HTTPError'
}


Error: expect(received).toThrow()
Received function did not throw

此变体也不起作用:

expect(() => api(`verify/${profile.auth.verifyToken}`, {method: 'POST'})).toThrow();

顺便说一句,当抛出HTTPError并没有捕获到HTTPError时,没有stacktrace,我也看不到错误被抛出的位置。如果还有其他错误,我会确切地看到是哪条测试线造成的。为什么?

雅各布

expect(...).toThrow()用于检查同步功能是否引发了错误。尽管异步功能使用相同的throw/catch术语,但它不涵盖对Promise是否落入拒绝状态的测试

请尝试expect(...).rejects.toThrow()

expect(() => api(`verify/${profile.auth.verifyToken}`, {method: 'POST'}).json())
  .rejects.toThrow();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Jasmine.js:预期函数会抛出错误,但它抛出了函数

来自分类Dev

未抛出可抛出实例

来自分类Dev

简单的NUnit测试失败,因为未引发异常(抛出了异常)

来自分类Dev

我的android应用未连接到服务器并抛出了android模拟器

来自分类Dev

(Android)尝试抛出OutOfMemoryError时抛出了OutOfMemoryError

来自分类Dev

抛出constexpr函数

来自分类Dev

我收到“未报告的异常 ioexception;必须保留或声明要抛出”

来自分类Dev

未捕获的OAuthException:(#100)使用图形API在Facebook中创建事件时抛出了无效的参数

来自分类Dev

$ resource .then()收到资源后抛出错误

来自分类Dev

MQQueueManager构造函数抛出FileNotFoundException

来自分类Dev

Powershell函数抛出空异常

来自分类Dev

MQQueueManager构造函数抛出FileNotFoundException

来自分类Dev

从构造函数无条件抛出* this

来自分类Dev

函数抛出零错误的除法

来自分类Dev

PHP捕获从函数抛出的InvalidArgumentException

来自分类Dev

NestJs和Jest:等待请求抛出404

来自分类Dev

抛出函数式可变参数宏包装,替换抛出的异常

来自分类Dev

未捕获的TypeError:console.log中抛出对象函数()异常

来自分类Dev

编译器未针对类的构造函数抛出语法错误

来自分类Dev

未捕获的错误:在布尔值上调用成员函数 prepare() ... 堆栈跟踪:#0 {main} 被抛出

来自分类Dev

脚手架控制器抛出的调用目标抛出了异常

来自分类Dev

为重载的运算符抛出了FluentAssertions断言异常

来自分类Dev

java.sql.SQLException:对SQOOP导入抛出了期望

来自分类Dev

固定会话抛出了我不明白的东西

来自分类Dev

bash中的grom()关键字抛出了意外的'('令牌

来自分类Dev

Java不存在,但是抛出了Java版本

来自分类Dev

安装了BeautifulSoup,仍然miniconda抛出了属性错误

来自分类Dev

有角吗?因为少而抛出了意外的令牌?

来自分类Dev

为重载的运算符抛出了FluentAssertions断言异常

Related 相关文章

  1. 1

    Jasmine.js:预期函数会抛出错误,但它抛出了函数

  2. 2

    未抛出可抛出实例

  3. 3

    简单的NUnit测试失败,因为未引发异常(抛出了异常)

  4. 4

    我的android应用未连接到服务器并抛出了android模拟器

  5. 5

    (Android)尝试抛出OutOfMemoryError时抛出了OutOfMemoryError

  6. 6

    抛出constexpr函数

  7. 7

    我收到“未报告的异常 ioexception;必须保留或声明要抛出”

  8. 8

    未捕获的OAuthException:(#100)使用图形API在Facebook中创建事件时抛出了无效的参数

  9. 9

    $ resource .then()收到资源后抛出错误

  10. 10

    MQQueueManager构造函数抛出FileNotFoundException

  11. 11

    Powershell函数抛出空异常

  12. 12

    MQQueueManager构造函数抛出FileNotFoundException

  13. 13

    从构造函数无条件抛出* this

  14. 14

    函数抛出零错误的除法

  15. 15

    PHP捕获从函数抛出的InvalidArgumentException

  16. 16

    NestJs和Jest:等待请求抛出404

  17. 17

    抛出函数式可变参数宏包装,替换抛出的异常

  18. 18

    未捕获的TypeError:console.log中抛出对象函数()异常

  19. 19

    编译器未针对类的构造函数抛出语法错误

  20. 20

    未捕获的错误:在布尔值上调用成员函数 prepare() ... 堆栈跟踪:#0 {main} 被抛出

  21. 21

    脚手架控制器抛出的调用目标抛出了异常

  22. 22

    为重载的运算符抛出了FluentAssertions断言异常

  23. 23

    java.sql.SQLException:对SQOOP导入抛出了期望

  24. 24

    固定会话抛出了我不明白的东西

  25. 25

    bash中的grom()关键字抛出了意外的'('令牌

  26. 26

    Java不存在,但是抛出了Java版本

  27. 27

    安装了BeautifulSoup,仍然miniconda抛出了属性错误

  28. 28

    有角吗?因为少而抛出了意外的令牌?

  29. 29

    为重载的运算符抛出了FluentAssertions断言异常

热门标签

归档