fast-check
nyc
Our great sponsors
fast-check | nyc | |
---|---|---|
21 | 16 | |
4,099 | 5,521 | |
- | 0.3% | |
9.8 | 4.7 | |
4 days ago | 7 days ago | |
TypeScript | JavaScript | |
MIT License | ISC License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fast-check
-
The 5 principles of Unit Testing
Libraries like JSVerify or Fast-Check offer essential tools to facilitate property-based testing.
-
How to Survive Your Project's First 100k Lines
Strong agree!
For JavaScript, I suggest folks check out fast-check [0] and this introduction to property-based testing that uses fast-check [1].
This is broadly useful, but one specific place I've found it helpful was to check redux reducers against generated lists of actions to find unchecked edge cases and data assumptions.
[0] https://github.com/dubzzz/fast-check
-
Master property-based testing in JavaScript: A step-by-step tutorial
Brilliant, this is a massive improvement. Previously I was fumbling around in https://github.com/dubzzz/fast-check/tree/main/packages/fast-check/documentation for info.
- Bring the power of property based testing framework fast-check into Vitest
-
[AskJS] Should I be generating random data for parameters when unit testing?
There's a library for exactly that: FastCheck.
-
Integrate Jest and fast-check together
It makes @fast-check/jest, the best option to integrate Jest and fast-check, as it provides an abstraction over both to ease their mutual integration.
- I Created an API to Generate Mock Information
-
Generating dummy entities with random data for tests based on types
The closest that I know of (and I have not used this) is zod-fast-check. It generates fast-check “arbitraries” (test data generators) for property-based testing based on zod schemas. Of course, this requires that you use zod to define your types, which has some downsides. Fortunately there is another tool, ts-to-zod, (which I also have not used) which will codegen zod schemas based on TS type definitions. If you thread these four libraries together you should end up with the ability to write random tests on generated data with very little overhead. In theory.
-
Best practice where to test validation?
For something like this, I might break out fast-check for testing. It’s good at generating a wide range of values for a given type, and could help you get good test coverage without having to hand-author a lot of repetitive error inputs.
- Fast-check: How it works
nyc
-
Migrating from Jest to Vitest for your React Application
Native code coverage via v8 or istanbul.
-
Testing Vue components the right way
Writing tests is essential, and knowing whether you test all the required cases for your logic is even more critical. The most common testing coverage tool is Istanbul, where you can see how well your tests exercise your code by lines, functions, and branches. Below is an example of how the test coverage report looks in your terminal:
-
Don't target 100% coverage
Here is a quote from istanbul, one of the most used code coverage tool:
-
Unit testing like a Hacker
Unit testing framework was already implemented, using Vitest so I started hacking by setting up a coverage provider to explicitly identify the covered/uncovered lines and mentioned this to the maintainer in the comments. I used Istanbul 🇹🇷 for this purpose.
-
Auto-Publish Your Test Coverage Report on GitHub Pages
Your project probably has a coverage report. If you’re using Jest as your unit test runner, generating a coverage report is embedded in it. It is done with Istanbul under the hood, which generates a nice HTML page presenting the entire project unit test coverage.
-
Dear Linux, Privileged Ports Must Die
> This is a rant written by someone with just enough understanding to be dangerous, but not quite enough wisdom to know why things are still the way they are. Most of the complaints raised are subtly inaccurate.
Author seems aware of CAP_NET_BIND_SERVICE: https://source.small-tech.org/site.js/app/-/issues/169 and https://github.com/istanbuljs/nyc/issues/1281 – the "side effects" are NodeJS explicitly checking for it, so that's a NodeJS thing and not a Linux thing.
Yet curiously it's completely unmentioned in this article, in spite that this is probably what started the author's dislike of privileged ports. I guess it was inconvenient as it got in the way of angrily ranting.
-
Comprehensive coverage Jest+Playwright in Next.js TS
This approach will create two json coverage files, which will be merged together by NYC. Therefore the results will be purely local. If You don't mind using online tools like Codecov or Coveralls for merging data from different tests, then go ahead and use them. They will probably also be more accurate. But if You still want to learn how to get coverage from E2E, then please read through
-
When developing in React, what do you find most frustrating or cumbersome?
https://istanbul.js.org/ measures how much of your code is covered by tests
-
Production Ready React
Jest uses a package called Istanbul to provide test coverage metrics such as statement, branch, function, and line coverage so that you can understand and enforce the quality of your test suite, providing more confidence in releases.
-
Aggregating Unit Test Coverage for All Monorepo’s Packages
So let’s see if nyc (the code coverage generator) can help with that. Hmm… this documentation seems interesting! So basically what I understand from it is that I need to collect all the reports from the different packages and then run the nyc report over it. The flow should be like this:
What are some alternatives?
Unexpected - Unexpected - the extensible BDD assertion toolkit
jest - Delightful JavaScript Testing.
istanbul - Yet another JS code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. Supports all JS coverage use cases including unit tests, server side functional tests and browser tests. Built for scale.
tape - tap-producing test harness for node and browsers
Cucumber.js - Cucumber for JavaScript
trevor - 🚦 Your own mini Travis CI to run tests locally
playwright-test-coverage - Extends Playwright test to measure code coverage
test-each - 🤖 Repeat tests. Repeat tests. Repeat tests.
mocha - ☕️ simple, flexible, fun javascript test framework for node.js & the browser
loadtest - Runs a load test on the selected URL. Fast and easy to use. Can be integrated in your own workflow using the API.
jasmine - Simple JavaScript testing framework for browsers and node.js