Javascript 开玩笑的测试说:";ReferenceError:未定义标题";

Javascript 开玩笑的测试说:";ReferenceError:未定义标题";,javascript,unit-testing,testing,automated-tests,jestjs,Javascript,Unit Testing,Testing,Automated Tests,Jestjs,我试图测试一个与类交互的函数。不确定我的测试在技术上是否属于单元测试的一个类别,但这不应该是相关的 当我运行测试时,我看到了一个臭名昭著的错误: ReferenceError:未定义标头 我确信这是因为测试是在非浏览器环境中执行的 我的问题是:我如何在浏览器环境中执行测试,因为我根本不想模拟标题类? $纱线测试 纱线运行v1.12.3 $jest 失败测试/request-init-spec.ts 请求初始化 ×应能工作(9ms) ● requestInit›应该可以工作 ReferenceEr

我试图测试一个与类交互的函数。不确定我的测试在技术上是否属于单元测试的一个类别,但这不应该是相关的

当我运行测试时,我看到了一个臭名昭著的错误:

ReferenceError:未定义标头

我确信这是因为测试是在非浏览器环境中执行的

我的问题是:我如何在浏览器环境中执行测试,因为我根本不想模拟
标题
类?

$纱线测试
纱线运行v1.12.3
$jest
失败测试/request-init-spec.ts
请求初始化
×应能工作(9ms)
● requestInit›应该可以工作
ReferenceError:未定义标头
13 |描述(requestInit.name,()=>{
14 |它('应该有效',()=>{
>15 |常数头=新头();
|                     ^                                                    
16 | headers.append('H1','V1');
17 |                                                                          
18 | const requestInit:requestInit={
在Object.it(_测试_/request-init-spec.ts:15:21)
测试套件:1个失败,共1个
测试:1次失败,共1次
快照:共0个
时间:4.574s
运行所有测试套件。
错误命令失败,退出代码为1。
信息访问https://yarnpkg.com/en/docs/cli/run 有关此命令的文档。

模拟类有什么问题?@Nit我希望我的代码针对实际的类执行。模拟它会破坏我测试的目的。在这种情况下,问题只是选择一个实现。有一个应该足够了。在这种情况下,你可能会想使用不同的测试框架,例如Mocha和Jasmine support同时在节点和浏览器中运行测试。对于Jest,有,但那是第三方的。如中所示,Jest团队没有(或没有)对添加浏览器测试支持感兴趣。@Nit我完全可以使用
jest-lite
…只要我找到运行它的方法。:D我确实注意到jest团队还没有发布浏览器内执行支持。模拟类有什么错?@Nit我希望我的代码针对实际的类执行。模拟它违背了我的测试。在这种情况下,这只是一个选择实现的问题。有一个应该足够了。在这种情况下,您可能会想使用不同的测试框架,例如Mocha和Jasmine都支持在节点和浏览器中运行测试。对于Jest,有,但那是第三方。如中所示,Jest团队没有(或没有)对添加浏览器测试支持感兴趣。@Nit我完全可以使用
jest-lite
…只要我找到运行它的方法。:D我注意到jest团队仍然没有发布浏览器内执行支持。