espec |> elixir bdd

8
ESpec |> Elixir BDD Anton Mishchuk #pivorak 10 March 25, 2016

Upload: pivorak-meetup

Post on 13-Apr-2017

331 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Espec |> Elixir BDD

ESpec |> Elixir BDD

Anton Mishchuk #pivorak 10

March 25, 2016

Page 2: Espec |> Elixir BDD

About me

- Ruby Developer at Matic Insurance Services Inc- Big fan of Elixir programming language since 2014- ESpec package creator & maintainer

- GitHub: antonmi- Email: [email protected]

Page 3: Espec |> Elixir BDD

How the idea was born

- We are from Ruby world- We like BDD- We like RSpec

- It would be perfect to have RSpec like BDD testing framework in Elixir!

Page 4: Espec |> Elixir BDD

Is it possible to implement RSpec DSL in Elixir?

- Chris McCord “Metaprogramming Elixir”- Macros to the rescue- Yes! It is possible!

- ESpec v0.1.0 was released on March 25, 2015- Current ESpec version is 0.8.16- hex.pm package: espec - GitHub: antonmi/espec

Page 5: Espec |> Elixir BDD

Do you think this is RSpec code?

Page 6: Espec |> Elixir BDD

ESpec - BDD for Elixir- Test organization with “describe”, “context”, “it”, and etc. blocks- Familiar matchers “eq”, “be_close_to”, “raise_exception”, etc- Custom matchers- Three types of expectation syntax- “Before” and “finally” blocks- “let”, “let!” and “subject”- Shared examples- Mocking with Erlang “meck” library.- Async examples- Doc specs- HTML and JSON formatted outputs

Page 7: Espec |> Elixir BDD

ESpec Phoenix

- ESpec configs, helpers and matchers to use it with Phoenix web framework- Is on early stage of development. Current version is 0.2.0- Contributors are welcomed- Hex.pm package: espec_phoenix- Github: antonmi/espec_phoenix

Page 8: Espec |> Elixir BDD

Thanks for your attention