component-test-helper
v1.0.63
Published
The Component Test Helper is a package intended to make React Jest testing far more declaritive
Downloads
6
Readme
[!IMPORTANT] This is technically not my code. Im just maintaining it
Original Author: https://ryanclements.dev
Component-Test-Helper
The Component Test Helper is a package intended to make React Jest testing far more declaritive
Badges
Externals
About The Project
This is a solution to React frontend testing. This package provides a class, ComponentTestHelper, to be used in Jest React frontend testing use cases. This class allows the developer to abstract a lot of the tedious, duplicated, testing that often occurs when attempting to test the frontend, into reusable functions contained within the bounds of a given components "test helper".
Built With
Getting Started
To get the package included in your project, follow these steps
Installation
using npm:
npm i --save-dev component-test-helper
Usage
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
import ComponentTestHelper into test file
import ComponentTestHelper from 'component-test-helper'
define instance for the component to test in the test file
// with a builder
const inputField = new ComponentTestHelper(builder =>
builder.byTestId('inputFieldContainer')
)
// with a custom ComponentTestHelper - builder only necessary if a custructor wasn't supplied
const inputField = new InputFieldTestHelper(builder =>
builder.byTestId('inputFieldContainer')
)
// custom with supplied constructor
const inputField = new InputFieldTestHelper()
define custom ComponentTestHelper in another file
export class InputFieldTestHelper extends ComponentTestHelper {
// define child components to test
readonly input = new ComponentTestHelper(builder =>
builder.byTestId('inputField')
)
// create constructor if you want to hard code the selector for the builder
constructor() {
super(builder => builder.byTestId('inputFieldContainer'))
}
// define methods for acting and expecting on components
async expectToHaveValue(value: string | number | null): Promise<void> {
expect(await this.input.get()).toHaveValue(value)
}
}
Check out the examples folder for more details
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Me - @Triston08227721 - [email protected]
Project Link: https://github.com/Tarmstrong95/component-test-helper