Reactjs 收到Jest测试错误:序列化为同一字符串

Reactjs 收到Jest测试错误:序列化为同一字符串,reactjs,testing,jestjs,Reactjs,Testing,Jestjs,我尝试玩jest来学习如何测试react应用程序。 我已经创建了一个按钮,将只嵌入一些元素,以保持不变的风格 以下是我的按钮代码: export function searchBtn(triggerSearch) { return ( <div className="d-flex justify-content-center my-3"> <input type="submit" c

我尝试玩jest来学习如何测试react应用程序。
我已经创建了一个按钮,将只嵌入一些元素,以保持不变的风格

以下是我的按钮代码:

export function searchBtn(triggerSearch) {
  return (
    <div className="d-flex justify-content-center my-3">
      <input
        type="submit"
        className="btn btn-primary w-25"
        value="Search"
        onClick={(e) => {
          e.preventDefault();
          triggerSearch();
        }}
      ></input>
    </div>
  );
}
导出函数searchBtn(triggerSearch){
返回(
{
e、 预防默认值();
触发器搜索();
}}
>
);
}
这是我的测试:

const { searchBtn } = require("./SearchBtn");

test("going to try the btn", () => {
  
  function triggerSearch() {}

  expect(searchBtn(triggerSearch)).toEqual(
    <div className="d-flex justify-content-center my-3">
      <input
        type="submit"
        className="btn btn-primary w-25"
        value="Search"
        onClick={(e) => {
          e.preventDefault();
          triggerSearch();
        }}
      ></input>
    </div>
  );
});
const{searchBtn}=require(“./searchBtn”);
测试(“准备尝试btn”,()=>{
函数triggerSearch(){}
expect(searchBtn(triggerSearch)).toEqual(
{
e、 预防默认值();
触发器搜索();
}}
>
);
});
我不知道为什么我总是遇到这样的错误:
已接收:序列化为同一字符串


提前感谢您

有两种解决方案:

const { searchBtn } = require('./SearchBtn');

describe('65737249', () => {
  test('going to try the btn', () => {
    function triggerSearch() {}
    expect(JSON.stringify(searchBtn(triggerSearch))).toEqual(
      JSON.stringify(
        <div className="d-flex justify-content-center my-3">
          <input
            type="submit"
            className="btn btn-primary w-25"
            value="Search"
            onClick={(e) => {
              e.preventDefault();
              triggerSearch();
            }}
          ></input>
        </div>
      )
    );
  });

  test('better', () => {
    function triggerSearch() {}
    expect(searchBtn(triggerSearch)).toMatchInlineSnapshot(`
      <div
        className="d-flex justify-content-center my-3"
      >
        <input
          className="btn btn-primary w-25"
          onClick={[Function]}
          type="submit"
          value="Search"
        />
      </div>
    `);
  });
});

哦,所以你必须把它串起来:0,这样它才能被测试。非常感谢。
 PASS  examples/65737249/SearchBtn.test.jsx
  65737249
    ✓ going to try the btn (3 ms)
    ✓ better (8 ms)

 › 1 snapshot written.
Snapshot Summary
 › 1 snapshot written from 1 test suite.

Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total
Snapshots:   1 written, 1 total
Time:        4.946 s