https://github.com/ahrefs/melange-fest
A minimal test framework for Melange using Node test runner
https://github.com/ahrefs/melange-fest
Last synced: 4 months ago
JSON representation
A minimal test framework for Melange using Node test runner
- Host: GitHub
- URL: https://github.com/ahrefs/melange-fest
- Owner: ahrefs
- License: mit
- Created: 2023-11-08T08:00:05.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2026-03-12T13:59:02.000Z (4 months ago)
- Last Synced: 2026-03-12T19:57:15.486Z (4 months ago)
- Language: OCaml
- Homepage: https://ahrefs.github.io/melange-fest/
- Size: 662 KB
- Stars: 15
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
- awesome-reasonml - melange-fest - A minimal test framework for Melange using Node test runner (Reason / Libraries)
README
# melange-fest
A minimal test framework for Melange using [Node test
runner](https://nodejs.org/api/test.html).
## Quick Start
```reason
open Fest
test("1+1=2", () => expect |> equal(1 + 1, 2));
```
### React
React support is provided by
[`reason-react`](https://github.com/reasonml/reason-react/).
```reason
open Fest;
module RTL = ReactTestingLibrary;
[@mel.get] external textContent: Dom.element => string = "textContent";
Domloader.init();
module Hello = {
[@react.component]
let make = (~text) =>
{"Hello " ++ text |> React.string} ;
};
let () =
test("test component", () => {
let result = RTL.render();
// Check that Hello component renders the name properly.
let el = RTL.getByText(~matcher=`Str("Hello Nila"), result);
expect |> equal(textContent(el), "Hello Nila");
});
```
## Commands
Run all tests:
```bash
make test
```