Testing WebAssembly modules with Jest
Well-tested code prevents regression bugs, simplifies refactoring, and alleviates some of the frustrations that go along with adding new features. Once you've compiled a Wasm module, you should write tests to ensure it's functioning as expected, even if you've written tests for C, C++, or Rust code you compiled it from. In this section, we'll use Jest, a JavaScript testing framework, to test the functions in a compiled Wasm module.
The code being tested
All of the code used in this example is located in the /chapter-09-node/testing-example
folder. The code and corresponding tests are very simple and are not representative of real-world applications, but they're intended to demonstrate how to use Jest for testing. The following code represents the file structure of the /testing-example
folder:
├── /src | ├── /__tests__ | │ └── main.test.js | └── main.c ├── package.json └── package-lock.json
The contents of the C file that we'll test, /src/main...