Slide 1

Slide 1 text

Testing RxRealm
 with RxBlocking RxSwift Berlin Marin Todorov

Slide 2

Slide 2 text

RxRealm realm.io

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

• Completely Asynchronous • Notifications will be bundled by Realm • Objects can change over time Testing Realm

Slide 6

Slide 6 text

Test: collection emits when objects added [Message1] Realm.rx.add(...) Observer Observable> [Message1]

Slide 7

Slide 7 text

RxTest

Slide 8

Slide 8 text

RxTest

Slide 9

Slide 9 text

RxTest

Slide 10

Slide 10 text

Test: collection emits when objects added [Message1] Realm.rx.add(...) Observer Observable> [Message1]

Slide 11

Slide 11 text

RxBlocking

Slide 12

Slide 12 text

RxBlocking!

Slide 13

Slide 13 text

Some Numbers RxRealm test suite with RxTest: 1570 loc RxRealm test suite with RxBlocking: 921 loc

Slide 14

Slide 14 text

Test: observer handles error when observable errors out

Slide 15

Slide 15 text

Test: collection emits when objects deleted

Slide 16

Slide 16 text

Test: eventually changes from all threads will emit ... add objects on main queue, on background queque, sync on current queue, etc...

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Test: view model emits when speaker favorited

Slide 19

Slide 19 text

Test: model emits when resultset changes ... ...

Slide 20

Slide 20 text

• EventKit - github.com/realm/EventKit • RxRealm - github.com/RxSwiftCommunity/RxRealm • RxBook - store.raywenderlich.com/products/rxswift Marin Todorov @icanzilb Updated! RxSwift 4