{"id":13546296,"url":"https://github.com/marick/Midje","last_synced_at":"2025-04-02T18:30:35.252Z","repository":{"id":918874,"uuid":"682082","full_name":"marick/Midje","owner":"marick","description":"Midje provides a migration path from clojure.test to a more flexible, readable, abstract, and gracious style of testing","archived":false,"fork":false,"pushed_at":"2024-01-04T12:07:30.000Z","size":73017,"stargazers_count":1686,"open_issues_count":43,"forks_count":128,"subscribers_count":44,"default_branch":"master","last_synced_at":"2024-10-29T14:56:19.347Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Clojure","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/marick.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2010-05-23T19:00:57.000Z","updated_at":"2024-10-24T08:33:45.000Z","dependencies_parsed_at":"2024-01-08T18:03:38.926Z","dependency_job_id":"4941fa3d-bda9-4973-8f39-09ca142eefdb","html_url":"https://github.com/marick/Midje","commit_stats":{"total_commits":2337,"total_committers":54,"mean_commits":43.27777777777778,"dds":0.3329054343175011,"last_synced_commit":"34819ae8d24a11b0f953d461f94e09a2638ff385"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marick%2FMidje","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marick%2FMidje/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marick%2FMidje/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marick%2FMidje/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marick","download_url":"https://codeload.github.com/marick/Midje/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246869596,"owners_count":20847155,"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","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":[],"created_at":"2024-08-01T12:00:35.271Z","updated_at":"2025-04-02T18:30:34.125Z","avatar_url":"https://github.com/marick.png","language":"Clojure","funding_links":[],"categories":["Clojure","testing","Testing"],"sub_categories":[],"readme":"Available via [clojars](https://clojars.org/midje)\n\n[![Current Version](https://img.shields.io/clojars/v/midje/midje.svg)](https://clojars.org/midje)\n\nLicense: [MIT](http://en.wikipedia.org/wiki/MIT_License)\n\nAbout Midje\n=======================\n\nMidje is a test framework for Clojure. I created it to allow\nprogrammers to [test with\nease](http://exampler.com/ease-and-joy.html),\nto provide a [smooth migration path from\nclojure.test](https://github.com/marick/Midje/wiki/A-tutorial-introduction-for-Clojure.test-users),\nto support [top-down](https://github.com/marick/Midje/wiki/The-idea-behind-top-down-development) as well as bottom-up testing,\nto encourage readable tests,\nto support a balance between [abstraction and\nconcreteness](https://github.com/marick/Midje/wiki/Metaconstants),\nand to be gracious in its treatment of the people who use it.\n\nGallery\n=======================\n\nTo make tests more readable, Midje makes them look like\nexamples in Clojure books. Here's how  *[The Joy of\nClojure](http://www.amazon.com/The-Joy-Clojure-Thinking-Way/dp/1935182641)*\nuses syntax to explain Clojure:\n\n![](https://raw.github.com/marick/midje-clojure-test-tutorial/master/images/other/truthy.jpg)\n\nHere's the same fact about Clojure in Midje, expressed in a\nway that's just as readable but also machine-checkable:\n\n![](https://raw.github.com/marick/midje-clojure-test-tutorial/master/images/other/truthy-fact.jpg)\n\n------------\n\nWhile Midje assumes you'll be building a test suite with\nlasting value, it allows you to do that while still using\nthe repl in an idiomatic way.\n\nHere's the start of a typical Midje repl session:\n\n![](https://raw.github.com/marick/midje-clojure-test-tutorial/master/images/plain/3.jpg)\n\nMidje has loaded the tests and run them for the first time.\nIt's also watching for file changes. When it sees them, it\nloads the changed files and any dependencies. But notice\nthat you still have a repl prompt. That means you can move\nrapidly and smoothly among  typing at the repl to try out code samples or look up\ndocumentation, having your editor send code snippets to the\nrepl to evaluate, *and* saving source or test files to\nimmediately see what passes or fails:\n\n![](https://raw.github.com/marick/midje-clojure-test-tutorial/master/images/plain/5.jpg)\n\n-------------\n\nMidje supplies prepackaged\n[checkers](https://github.com/marick/Midje/wiki/Checkers)\nthat save you the trouble of writing common code:\n\n![](https://raw.github.com/marick/midje-clojure-test-tutorial/master/images/other/checkers.jpg)\n\n-------------\n\n[And so on](https://github.com/marick/Midje/wiki).\n\nLearning Midje\n=======================\n\n[Tutorial](https://github.com/marick/Midje/wiki/A-tutorial-introduction)\n[Tutorial (and sales pitch) for the clojure.test user](https://github.com/marick/Midje/wiki/A-tutorial-introduction-for-Clojure.test-users)\n[User guide](https://github.com/marick/Midje/wiki)\n[Mailing list](http://groups.google.com/group/midje)\n\nOther Tools\n===========\n\n* [midje-notifier](https://github.com/glittershark/midje-notifier)\n\nContributors\n============\n* Sean T. Allen\n* Alex Baranosky\n* Blake Bassett\n* Noah Bogart\n* Phillip Calçado\n* Toby Crawley\n* Chris Devine\n* dlebrero\n* Dolmio\n* André Eriksson\n* Jason Felice\n* Rafael Ferreira\n* Adam Frey\n* Anders Furseth\n* Stuart Halloway\n* Chris Hapgood\n* Sebastian Hennebrueder\n* Wilkes Joiner\n* Colin Jones\n* Jacek Lach\n* Reed Lipman\n* Ben Mabey\n* Alan Malloy\n* Brian Marick\n* Bob Martin\n* Phillip Mates\n* Paudi Moriarty\n* Dmitri Naumov\n* Alex Nixon\n* Atamert Ölçgen\n* Nick Pascucci\n* Dave Ray\n* Sébastien RoccaSerra\n* Harri Salokorpi\n* Ozan Sener\n* Ben Sinclair\n* Griffin Smith\n* Greg Spurrier\n* Børge Svingen\n* Giorgio Valoti\n* Joseph Wilk\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarick%2FMidje","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarick%2FMidje","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarick%2FMidje/lists"}