{"id":32321744,"url":"https://github.com/mimus-swift/mimus","last_synced_at":"2026-02-20T23:02:12.456Z","repository":{"id":42443975,"uuid":"84066626","full_name":"mimus-swift/Mimus","owner":"mimus-swift","description":"Swift Mocking Library","archived":false,"fork":false,"pushed_at":"2025-07-29T13:34:19.000Z","size":396,"stargazers_count":110,"open_issues_count":2,"forks_count":9,"subscribers_count":44,"default_branch":"master","last_synced_at":"2025-12-02T13:55:35.926Z","etag":null,"topics":["helix-team","mocking","mocks","swift","testing"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/mimus-swift.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-03-06T11:41:46.000Z","updated_at":"2025-07-29T13:33:07.000Z","dependencies_parsed_at":"2022-08-20T02:31:23.059Z","dependency_job_id":"7970c3c4-8073-4f41-8c2f-ce5ae6d7bff8","html_url":"https://github.com/mimus-swift/Mimus","commit_stats":{"total_commits":64,"total_committers":10,"mean_commits":6.4,"dds":0.359375,"last_synced_commit":"750b4eac23e3cb0a37cc419f79cf4d2da1bbbb10"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/mimus-swift/Mimus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mimus-swift%2FMimus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mimus-swift%2FMimus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mimus-swift%2FMimus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mimus-swift%2FMimus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mimus-swift","download_url":"https://codeload.github.com/mimus-swift/Mimus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mimus-swift%2FMimus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29667119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T19:49:36.704Z","status":"ssl_error","status_checked_at":"2026-02-20T19:44:05.372Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["helix-team","mocking","mocks","swift","testing"],"created_at":"2025-10-23T12:16:29.812Z","updated_at":"2026-02-20T23:02:12.448Z","avatar_url":"https://github.com/mimus-swift.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/mimus-swift/Mimus/raw/master/Design/mimus%403x.png\" width=\"250\" height=\"250\"/\u003e\n\u003c/p\u003e\n\n# Mimus\n\n[![Swift 5.0+](https://img.shields.io/badge/Swift-5.0+-orange.svg?style=flat)](https://swift.org/)\n[![Platforms](https://img.shields.io/badge/Platforms-iOS%20%7C%20macOS%20%7C%20tvOS%20%7C%20watchOS-blue.svg?style=flat)]()\n[![SPM compatible](https://img.shields.io/badge/SPM-compatible-brightgreen.svg?style=flat)](https://swift.org/package-manager/)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![CocoaPods compatible](https://img.shields.io/badge/CocoaPods-compatible-4BC51D.svg?style=flat)](https://github.com/CocoaPods/CocoaPods)\n[![License MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat)]()\n[![Public Yes](https://img.shields.io/badge/Public-yes-green.svg?style=flat)]()\n[![CI](https://github.com/mimus-swift/Mimus/actions/workflows/default.yml/badge.svg)](https://github.com/mimus-swift/Mimus/actions/workflows/default.yml)\n\n\u003e Mimus is a bird genus in the family Mimidae. It contains the typical mockingbirds.\n\nMimus is a Swift mocking library, aiming to reduce boilerplate code required for building mocks in Swift. It's been battle tested at [AirHelp](http://airhelp.com) and [Toptal](https://www.toptal.com) where it's being used extensively across test suites.\n\n# Main features\n\n* Pure Swift\n* Protocol-oriented implementation\n* Integrated with XCTest and Swift Test\n* Support for verification of basic types and collections (including optionals)\n* Support for writing custom matchers\n* Detailed failure reporting\n* Unit-tested\n\n# Usage\n\nA Mimus mock can be created by declaring a class that conforms to your custom protocol and Mimus `Mock` type:\n\n```swift\nclass FakeAuthenticationManager: AuthenticationManager, Mock {\n\n    var storage = Mimus.Storage()\n\n    func beginAuthentication(with email: String, password: String) {\n        recordCall(withIdentifier: \"BeginAuthentication\", arguments: [email, password])\n    }\n}\n```\n\nAfterwards you can verify whether specific call was received:\n\n```swift\nlet fakeLoginAuthenticationManager = FakeAuthenticationManager()\n\n(...)\n\nfakeLoginAuthenticationManager.verifyCall(withIdentifier: \"BeginAuthentication\",\n        arguments: [mEqual(\"Fixture Email\"), mEqual(\"Fixture Password\")])\n```\n\nYou can find more on the basic usage [here](https://github.com/mimus-swift/Mimus/blob/master/Documentation/Basics.md).\n\nFor detailed usage refer to [documentation folder](https://github.com/mimus-swift/Mimus/tree/master/Documentation).\n\n## Installation\n\n### Swift Package Manager\n\nMimus is available through [Swift Package Manager](https://swift.org/package-manager/).\n\n#### When added as a package dependency\n\n``` swift\ndependencies: [\n        .package(\n            url: \"https://github.com/mimus-swift/Mimus.git\",\n            from: \"2.3.0\"\n        )\n    ]\n```\n\n#### When added as an Application dependency:\n\nTo add a package dependency to your Xcode project, select File \u003e Swift Packages \u003e Add Package Dependency and enter its repository URL.\n\nYou can also navigate to your target’s General pane, and in the “Frameworks, Libraries, and Embedded Content” section, click the + button.\nIn the “Choose frameworks and libraries to add” dialog, select Add Other, and choose Add Package Dependency.\n\n### Carthage\n\nYou can also use [Carthage](https://github.com/Carthage/Carthage) for installing Mimus.\nSimply add it to your Cartfile:\n\n``` ruby\ngithub \"mimus-swift/Mimus\"\n```\n\nand then link it with your test target.\n\n### Cocoapods - 🚨 DEPRECATED 🚨\n\nMimus is available through [CocoaPods](http://cocoapods.org). To install\nit, simply add the following line to your Podfile against your test target:\n\n```ruby\npod \"Mimus\"\n```\n\nNote that starting with 2.1.0 Mimus will not be distributed via Cocoapods - we're moving to Swift Package Manager and we recommend everyone to do the same. You can still use Cocoapods with latest versions by pinning to a specific tag.\n\n## Authors\n\nMimus is an AirHelp open source project, designed and implemented by\n\n* Pawel Dudek, [@eldudi](http://twitter.com/eldudi), pawel@dudek.mobi\n* Pawel Kozielecki, [@pawelkozielecki](https://twitter.com/pawelkozielecki), pawel.kozielecki@airhelp.com\n\nLogo Design by Arkadiusz Lipiarz [@arek_lipiarz](https://twitter.com/arek_lipiarz), arkadiusz.lipiarz@airhelp.com\n\n## License\n\n*Mimus* is available under the MIT license. See the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmimus-swift%2Fmimus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmimus-swift%2Fmimus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmimus-swift%2Fmimus/lists"}