首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReferenceError:在进行svelte测试时没有定义文档

ReferenceError:在进行svelte测试时没有定义文档
EN

Stack Overflow用户
提问于 2022-04-13 13:25:19
回答 1查看 1.2K关注 0票数 0

我知道这个错误

代码语言:javascript
复制
FAIL  src/components/Buttons/Create.test.js
  ✕ shows proper heading when rendered (1 ms)

  ● shows proper heading when rendered

    The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
    Consider using the "jsdom" test environment.
    
    ReferenceError: document is not defined

       7 |
       8 | test('shows proper heading when rendered', () => {
    >  9 |      const { getByText } = render(Comp, { create: '/test' });
         |                            ^
      10 |
      11 |      expect(getByText('/test')).toBeInTheDocument();
      12 | });

      at render (node_modules/@testing-library/svelte/dist/pure.js:55:28)
      at Object.<anonymous> (src/components/Buttons/Create.test.js:9:24)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        0.567 s, estimated 1 s
Ran all test suites matching /src/i.

这是我的测试:

代码语言:javascript
复制
// NOTE: jest-dom adds handy assertions to Jest and it is recommended, but not required.
import '@testing-library/jest-dom';

import { render } from '@testing-library/svelte';

import Comp from './Create';

test('shows proper heading when rendered', () => {
    const { getByText } = render(Comp, { create: '/test' });

    expect(getByText('/test')).toBeInTheDocument();
});

这是我的组成部分:

代码语言:javascript
复制
<script>
    export let create = '';
</script>

<a href={create}><img src="/icons/plus.svg" alt="" /></a>

<style>
    img {
        width: 3rem;
        margin-left: 1rem;
    }

    a {
        font-weight: 400;
        font-size: 1.6rem;
        text-decoration: none;
        color: #fff;
    }
</style>

以下是package.json:

代码语言:javascript
复制
    "jest": {
        "verbose": true,
        "transform": {
            "^.+\\.svelte$": [
                "svelte-jester",
                {
                    "preprocess": true
                }
            ],
            "^.+\\.js$": "babel-jest",
            "^.+\\.ts$": "ts-jest"
        },
        "moduleFileExtensions": [
            "js",
            "ts",
            "svelte"
        ],
        "setupFilesAfterEnv": [
            "@testing-library/jest-dom/extend-expect"
        ]
    }

我不知道怎么解决这个问题。我使用的是testing library.com. and和sveltekit。

EN

回答 1

Stack Overflow用户

发布于 2022-04-13 18:26:23

"testEnvironment": "jsdom",添加到package.json修复了以下问题:

package.json:

代码语言:javascript
复制
"jest": {
        "verbose": true,
        "testEnvironment": "jsdom",
        "transform": {
            "^.+\\.svelte$": [
                "svelte-jester",
                {
                    "preprocess": true
                }
            ],
            "^.+\\.js$": "babel-jest",
            "^.+\\.ts$": "ts-jest"
        },
        "moduleFileExtensions": [
            "js",
            "ts",
            "svelte"
        ],
        "setupFilesAfterEnv": [
            "@testing-library/jest-dom/extend-expect"
        ]
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71858267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档