Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Data Generator For Testing CakePHP3 Application

Data Generator For Testing CakePHP3 Application

Kenichiro Kishida

May 30, 2015
Tweet

More Decks by Kenichiro Kishida

Other Decks in Technology

Transcript

  1. %BUB(FOFSBUPS
    'PS5FTUJOH$BLF1)1"QQMJDBUJPO
    $BLF'FTU/:$CZ!TJ[VIJLP

    View Slide

  2. ,FOJDIJSP,JTIJEB
    5PLZP +"1"/
    TJ[VIJLP!HNBJMDPN !TJ[VIJLP
    IUUQTHJUIVCDPNTJ[VIJLP
    IUUQCMPHPQFOUPLZPKQ +1POMZ

    UIUJNFPG$BLF'FTU $)* ."/Y 4' ."%

    View Slide

  3. 5FTUJOHBQQ

    View Slide

  4. )PXUPNBLF
    5FTU%BUB

    View Slide

  5. 'JYUVSF
    • Pros
    • Create Test Table each test case
    • Load changeless test data like a
    master model
    • Cons
    • Application grown, Test case
    become more complex, Test data
    grow huge!
    • No needed fields required for each
    test case

    View Slide

  6. &BTZCSFBLBCMF

    View Slide

  7. 5FTUEBUBJT

    View Slide

  8. 'BLF

    View Slide

  9. %BUB(FOFSBUPS

    View Slide

  10. 'BLFS
    w1)1`T'BLF%BUB(FOFSBUPS
    w*OTQJSFEPO'BLFSGSPN3VCZXPSME
    w03.JT1SPQFM %PDUSJOF
    wIUUQTHJUIVCDPNG[BOJOPUUP
    'BLFS
    Francois Zaninotto

    View Slide

  11. 'BCSJDBUF7FS
    w'PS$BLF1)1QMVHJO
    w*OTQJSFEPO'BCSJDBUJPO'BDUPSZ@(JSM
    wIUUQTHJUIVCDPNTJ[VIJLP
    'BCSJDBUF

    View Slide

  12. 'BCSJDBUF7FS
    w1)1MJCSBSZ
    w*OTQJSFEPO'BCSJDBUJPO'BDUPSZ@(JSM
    wIUUQTHJUIVCDPNTJ[VIJLP
    'BCSJDBUF

    View Slide

  13. 'PS$BLF1)1
    w$BLF1)1QMVHJO
    w"EBQU'BCSJDBUFWGPS$BLF1)1
    wIUUQTHJUIVCDPNTJ[VIJLP
    DBLFQIQGBCSJDBUFBEBQUPS

    View Slide

  14. 4USVDUVSF 7FS

    CakePHP2
    App
    Fabricate
    Ver.1
    CakePHP2

    View Slide

  15. 4USVDUVSF 7FS

    CakePHP3
    App
    Fabricate
    Ver.2
    CakePHP3
    Adaptor
    CakePHP3
    Other
    App
    Fabricate
    Ver.2
    XX
    Framework
    Adaptor
    XX
    Framework
    Not implemented yet, Please contribute
    if you want to use for other frameworks

    View Slide

  16. "1*T
    • Fabricate::config()
    • Fabricate::create()
    • Fabricate::build()
    • Fabricate::attributes_for()
    • Fabricate::define()

    View Slide

  17. )FMQFST
    • sequence()
    • traits()
    • faker()

    View Slide

  18. *GZPVXBOUNBOZ
    UFTUEBUB
    return [
    [...],
    [...],
    [...],
    ];
    }write 1,000 records ??

    View Slide

  19. 0OMZPOUIF'BCSJDBUF
    Fabricate::create('Posts', 1000);

    View Slide

  20. &YBNQMFT

    View Slide

  21. 0OF.PSF5IJOH

    View Slide

  22. WJTJUNZHJUIVC
    https://github.com/sizuhiko
    5IBOLZPV

    View Slide