首页 > 解决方案 > Jest 文档不是从源文件中定义的

问题描述

我刚刚遇到了一个很奇怪的问题,开玩笑的文档没有定义。该文档 (DOM) 来自其他源文件。我尝试在测试文件的顶部使用停靠块表示法/注释。

/**
 * @jest-environment jsdom
 */

可惜没有成功。

我遇到了这个错误:

TypeError:无法读取未定义的属性“href”

  1 | var AppSettings = {
> 2 |     mainPath: document.getElementsByTagName("base")[0].href

任何想法为什么会这样?我的 jsconfig 测试环境也设置为 jsdom。似乎没有任何帮助...

这是开玩笑测试的结构:

const mockProps = 
{
        translate: translate,
        service: service1,
        httpService: http,
        toaster: toastr
};

    describe("Test information", () => {
        let component;
      
        beforeEach(() => {
          component = shallow(<Information {...mockProps}/>);
         });
      
        it("should render", () => {
          expect(component).toBeDefined();
        });
      
      });

我的信息组件使用 mainpath 变量从服务器获取数据。任何帮助表示赞赏。

标签: javascriptjestjsenzymedocumentjsdom

解决方案


推荐阅读