Application is created with npx create-react-app my-app
. Running coverage report with npm test -- --coverage
doesn't cover all files inside /src
folder when checked with html file generated by istanbul, ie., project > coverage > lcov-report > index.html but with npm test -- --coverage --watchAll=false
does cover all files inside /src
folder but fails component render test with following error:
Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.
Following are the project details:
Login.js
import React from "react";
import { withRouter } from "react-router";
export class Login extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div className="page-login bg-img">
...
</div>
);
}
}
const NewLogin = withRouter(Login);
export default NewLogin;
Login.test.js
import { render } from "enzyme";
import {Login} from "./components/Login"
describe(`Login page`, () => {
it(`Login renders`, () => {
render(<Login />);
});
});
Package.json
"react": "^16.13.1",
"react-scripts": "^3.4.1",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.2",
Please help, I'm new to react unit testing. Thanks in advance.