簡體   English   中英

react js jest 單元測試

[英]react js jest unit testing

在登錄 function 中有一個 function validateForm,它返回的用戶名和密碼長度應大於零。

function validateForm() {
    return username.length > 0 && password.length > 0;
  }

使用 jest 單元測試工具

import React from "react";
import Login,{validateForm}  from "./Login";
import { render, screen } from '@testing-library/react';



 describe('LoginUser',()=>{
    test('validate username and password should be greater than 0',()=> {
    var username="name";
    var password="pass";
    expect(validateForm(username.length )).toBeGreaterThan(0);
  });
});

TypeError: (0, _Login.validateForm) is not a function 在運行測試用例時遇到錯誤如何解決

看起來您忘記導出它了:

  ...
  export function validateForm() {
    return username.length > 0 && password.length > 0;
  }
  ...

但是如果validateForm在 Login 組件(函數)的主體內定義的,請考慮將其移出並單獨導出以使該測試正常工作。

  // Put outside and export:
  export function validateForm() {
    return username.length > 0 && password.length > 0;
  }

  const Login = (props) => {
    // And remove from here.
    // function validateForm() {
    //    return username.length > 0 && password.length > 0;
    // }

    return ...
  }

  export default Login;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM