{"id":22218602,"url":"https://github.com/megahertz/humile","last_synced_at":"2025-07-27T14:32:50.664Z","repository":{"id":34409753,"uuid":"178679062","full_name":"megahertz/humile","owner":"megahertz","description":"Make Jasmine Great Again!","archived":false,"fork":false,"pushed_at":"2023-12-30T12:26:35.000Z","size":974,"stargazers_count":2,"open_issues_count":3,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-19T11:02:03.570Z","etag":null,"topics":["bdd","jasmine","nodejs","runner","tdd","test","typescript","unit"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/megahertz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-31T11:29:15.000Z","updated_at":"2024-01-06T16:28:23.000Z","dependencies_parsed_at":"2023-01-15T06:55:25.111Z","dependency_job_id":"60241fa4-9279-46ea-804c-762397dc6fdc","html_url":"https://github.com/megahertz/humile","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/megahertz/humile","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/megahertz%2Fhumile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/megahertz%2Fhumile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/megahertz%2Fhumile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/megahertz%2Fhumile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/megahertz","download_url":"https://codeload.github.com/megahertz/humile/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/megahertz%2Fhumile/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267370652,"owners_count":24076463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bdd","jasmine","nodejs","runner","tdd","test","typescript","unit"],"created_at":"2024-12-02T22:27:30.972Z","updated_at":"2025-07-27T14:32:50.187Z","avatar_url":"https://github.com/megahertz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# humile\n[![Build Status](https://travis-ci.org/megahertz/humile.svg?branch=master)](https://travis-ci.org/megahertz/humile)\n[![NPM version](https://badge.fury.io/js/humile.svg)](https://badge.fury.io/js/humile)\n\nMake Jasmine Great Again!\n\n## Description\n\nHumile is Node.js test framework on top of Jasmine. It's as fast and lightweight\nas Jasmine, but has many additional features:\n\n - Nice exception reports\n - Clean stack trace\n - Zero config\n - No globals (optional)\n - TypeScript ready\n - Highly customizable\n - toMatchObject, toMatchSnapshot\n\n\n## Why don't just use jest?\n\nJest is awesome, but it's pretty slow for fast tests. When you write a lot of\ntiny test, jasmine is able to execute more than 1000 tests per second. Also,\njest could be too large with its heavy dependencies for a tiny project.\n\n![Screenshot](docs/img/screenshot-general.png)\n\n## Usage\n\n1. Create the first test spec\n\n    **my-first.spec.js**\n    \n    ```js\n    describe('my first spec', () =\u003e {\n      it('should test a simple value', () =\u003e {\n        expect(true).toBe(true);\n      });\n    });\n    ```\n   \n   You can place this file in any subdirectory of your project. Humile searches\n   for *.spec.js and *.test.js files (or ts equivalent) in the current dir.\n\n2. Run humile\n\n    `$ npx humile`\n\n## [Configuring](docs/config.md)\n\nIn most cases you can use humile with default configuration. However, it can be\neasily customized.\n\nHere are the most useful options:\n\n - Test only specified specs\n\n   `humile 'mymodule/*.spec.js'`\n\n - Filter by spec description:\n\n   `humile -f MySpecName`\n\n - Disable global jasmine functions (describe, expect, it etc):\n\n   `humile -G`\n    \n - Ignore some files:\n\n   `humile -i 'build/**'`\n    \n - Use another reporter:\n\n   `humile -R list`\n\nLearn more about [configuring humile](docs/config.md).\n\n## Best practices\n\n - Place specs in __specs__ directory near the actual code\n - Place helpers into the top __specs__ directory\n - Try to disable global functions\n - Use common JavaScript best practices\n \n[Read more](docs/best-practices.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegahertz%2Fhumile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmegahertz%2Fhumile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegahertz%2Fhumile/lists"}