当前位置: 首页 > 知识库问答 >
问题:

带有样式化组件的Jest错误:语法错误分析预期css:缺少“}”

彭鸿哲
2023-03-14

我试图使用jest和样式化组件来测试组件的样式,但出现了以下错误:

Syntax error parsing expected css: missing '}' here
Failing css:
[object Object]

我的组件是一个与样式组件的简单链接:

import styled from 'styled-components'

export const Link = styled.a`
  color: #fff;
`

我的测试

describe('Link', () => {
  it('should display color on the link', () => {
    render(<Link href="/x">Test</Link>)
  }

  expect(screen.getByRole('link', { name: /test/i })).toHaveStyle({ color: '#fff' })
}

我正在运行npm反应脚本测试。

我已尝试导入“jest样式的组件”和“@testing library/jest dom”

共有1个答案

令狐烨烨
2023-03-14

可能是因为你使用的@testing-base/jest-dom包的版本。

对于v4.2.4,toHaveStyle(css: string),如您所见,匹配器只支持string参数。因此,你应该使用

expect(link).toHaveStyle(`color: #fff`);

从v5.1.0开始支持JS对象参数

 类似资料:
  • 有人能告诉我我做错了什么吗? 我只想在特定房间上在线显示用户。 下面的代码是调用my online的函数。这是我的聊天记录。当我加载页面时,这个函数也会加载。 在线 的PHP 这是我网上的内容。php 有什么帮助吗?

  • 当我试图将一个博客条目添加到我的数据库中时,我总是得到一个错误。我有一个简单的语法荧光笔,但它不显示什么地方不对劲。 错误:< code>PHP解析错误:语法错误,意外的T_OBJECT_OPERATOR,在第75行和第71行应为“)” 我的脚本:

  • 我在今年八月开发了一个laravel应用程序,当时运行良好。我现在试图运行该应用程序,它返回以下错误: 分析错误:语法错误,意外的T_类,应为T_字符串或T_变量,或D:\bkonme\artisan第31行中的“{”或“$” 第31行是这样的: 我的版本是,我在平台上使用。我有一些想法的发生,因为一些版本之间的冲突和,但我不知道如何解决这个问题,任何帮助?

  • 我不知道他们谁错了。

  • 问题内容: 我当我执行以下节点的代码在控制台错误 错误: 我正在使用Angular Js,它的文件夹结构像下面这样 我在这里想念什么? 问题答案: 这段代码: 告诉Express,无论浏览器要求什么,您的服务器都应返回。因此,当浏览器请求诸如或的JavaScript文件时,您的服务器返回的内容(以开头),这会导致JavaScript错误。 回调中的代码应查看请求以确定要发回的文件,和/或您应使用带

  • 这个问题是由一个打字错误或一个无法重现的问题引起的。虽然类似的问题可能是这里的主题,但这个问题的解决方式不太可能对未来的读者有所帮助。 当选择为空时,我编辑此代码以显示Mesaje,并且我收到此错误: 这是代码: 第235行是: 我如何解决这个错误?什么是坏的?