ObjectsFactory

1.0.0

The framework that helps you create objects for unit tests with ease
space-code/objects-factory

What's New

1.0.0

2023-10-15T08:20:44Z

Initial Release

Added

  • Initial release of objects-factory.

objects-factory

License 5.7 CI CodeCov

Description

objects-factory helps to create objects for unit tests that have a private initializer.

Usage

⚠️ It should only be used for testing purposes, like for unit-testing. ⚠️

It's important that the class you want to instantiate is a subclass of NSObject.

import ObjectsFactory

do {
    let session = try ObjectsFactory.create(UIScene.self)
    let _ = try ObjectsFactory.create(UIWindowScene.self, properties: ["session": session])
} catch {
    // Handle an error here
}

Requirements

  • iOS 13.0+
  • Xcode 14.0
  • Swift 5.7

Installation

Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. It is in early development, but objects-factory does support its use on supported platforms.

Once you have your Swift package set up, adding objects-factory as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/space-code/objects-factory.git", .upToNextMajor(from: "1.0.0"))
]

Communication

  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Contributing

Bootstrapping development environment

make bootstrap

Please feel free to help out with this project! If you see something that could be made better or want a new feature, open up an issue or send a Pull Request!

Author

Nikita Vasilev, nv3212@gmail.com

License

objects-factory is available under the MIT license. See the LICENSE file for more info.

Description

  • Swift Tools 5.7.0
View More Packages from this Author

Dependencies

  • None
Last updated: Sun Apr 14 2024 00:52:33 GMT-0900 (Hawaii-Aleutian Daylight Time)