在这个例子中,为什么变量
我真的希望测试会崩溃,因为在实际例子中我无意中将一个未定义的变量传递给了
foo
没有引发 ReferenceError
?虽然没有变量声明,但在 DOM 渲染后它显然在作用域内。DOM 节点 ID 和 JavaScript 命名空间之间的关系是什么?我正在使用 jest
运行此代码。import React from 'react';
import { render } from '@testing-library/react'
test('renders a div', () => {
const { utils } = render(<div id="foo"/>)
expect(foo).toBe(true)
})
Jest 报告:
Expected: true
Received: <div id="foo" />
我真的希望测试会崩溃,因为在实际例子中我无意中将一个未定义的变量传递给了
expect()
,而这个变量恰好与渲染的DOM节点ID同名。
document.write('<div id="foo"/>'); console.log(window.foo)
- Lawrence Cheroneevent
引用与传递给事件处理程序的参数之间的问题。 - Pointy