LoginSignup
41
35

More than 5 years have passed since last update.

Elixirをとりまく環境を調べてみました(2016年11月)

Last updated at Posted at 2016-11-15

環境構築系の状況

Ansible Galaxy

Atlas

Chef Supermarket

Docker Hub


エディタの言語サポート状況

  • Emacsは対応精度が結構高いらしいです。
  • Atom, Sublime, Vimもよく対応できているそうです。
  • JetBrainsは少し動作が不安定みたいなことが書いてありました。
Atom Emacs JetBrains Notepad++ Sublime TextMate Vim VSCode
Syntax Highlighting
Snippets
Code Completion
Go To Definition
Go To Documentation
Mix Integration
IEx Integration
Linter
Phoenix Support

静的コード解析ツールの状況

Dialyzer

  • 標準で入っているツール
  • Erlang用の静的型解析ツールなので、コンパイルしないと使えない

Credo

Dogma

  • オープンソースのツール
  • プロジェクトに依存を追加して使うようです
  • The Elixir Style Guideに準拠
  • 色々調整したい場合はCredoを推奨しているようです
  • 311 GitHub Stars

codebeat

  • SaaS
  • Elixir対応予定っぽいです
  • GitHub、Bitbucket連携機能があり、Publicプロジェクトであれば無料

テスティングツールの状況

ExUnit

  • 標準で入っているテスティングフレームワーク

BDD系

ESpec

  • BDD フレームワーク
  • RSpecインスパイア
  • 305 Stars
  • Phoenix用ESpecもありました

WhiteBread

  • BDD フレームワーク
  • Cucumberインスパイア
  • 95 Stars

Pavlov

  • BDD フレームワーク
  • モッキング対応
  • 117 Stars

Webテスト系

Hound

  • ブラウザオートメーションツール
  • Selenium(Firefox, Chrome), ChromeDriver, PhantomJSに対応
  • 636 Stars

Wallaby

  • ウェブアプリケーションテストフレームワーク
  • PhantomJSに対応
  • Ecto連携
  • 284 Stars

TucoTuco

  • ウェブアプリケーションテストフレームワーク
  • Capybaraインスパイア
  • PhantomJS, Firefox, ChromeDriver, Selenium Remote WebDriverに対応
  • 51 Stars

efrisby

  • REST APIテスティングフレームワーク
  • Frisby.jsインスパイア
  • Erlang製
  • 13 Stars

その他

ExMachina

  • Fixture Replacementツール
  • Ecto連携
  • factory_girl開発者
  • 509 Stars

Meck

  • Erlang製モッキングツール
  • ESpec, Pavlovはこれを組み込んでいるそうです
  • 486 Stars

Faker

  • Fakerツール
  • 189 Stars

ShouldI

  • shouldaインスパイア
  • 120 Stars

Power Assert

  • power-assertインスパイア
  • 73 Stars

まとめ

  • Elixir実行環境を作ることと、コードを書くことについては整っていると感じました。
  • 静的コード解析ツールはCredoがいい感じっぽいので、プルリクと組み合わせてコードレビューさせてみたいと思います。
  • テスト系は人気ライブラリに倣ったツールが色々あるようです。
  • 次は実際に使ってみたいと思います。

参考

41
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
35