All Projects → azu → DBMigrationTestKit

azu / DBMigrationTestKit

Licence: MIT license
Testing CoreData migration library.

Programming Languages

objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

DBMigrationTestKit

Testing CoreData migration library

  • Main purpose is testing migration used by NSEntityMigrationPolicy.

Installation

pod 'DBMigrationTestKit'

Usage

  1. Copy SQLite file of previous version to your test target.
    • Put .sqlite , .sqlite-shm, .sqlite-wal in same directory
  2. setUp (automatically migration)
  3. tests
  4. tearDown is cleanup SQLite files.
@interface DBMigrationTestKitTests : XCTestCase

@end

@implementation DBMigrationTestKitTests {
    DBMigrationTestKit *migrationTestKit;
}

- (void)setUp {
    [super setUp];
    migrationTestKit = [[DBMigrationTestKit alloc] init];
    [migrationTestKit setupCoreDataStackWithAutoMigratingSQLiteName:@"DBMigrationTestKit.sqlite" momdName:@"DBMigrationTestKit"];
}

- (void)tearDown {
    [migrationTestKit cleanup];
    [super tearDown];
}

- (void)testMigration {
    // assert migration results
}

@end

Known Issue

  • Can't migrate between specific version(1.0 -> 2.0).

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].