Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ananthakumaran/exunit.el
Emacs ExUnit test runner
https://github.com/ananthakumaran/exunit.el
emacs exunit
Last synced: 4 months ago
JSON representation
Emacs ExUnit test runner
- Host: GitHub
- URL: https://github.com/ananthakumaran/exunit.el
- Owner: ananthakumaran
- Created: 2018-05-01T07:09:09.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-02T04:33:25.000Z (9 months ago)
- Last Synced: 2024-05-02T18:58:15.917Z (9 months ago)
- Topics: emacs, exunit
- Language: Emacs Lisp
- Homepage:
- Size: 207 KB
- Stars: 39
- Watchers: 6
- Forks: 15
- Open Issues: 2
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+TITLE: exunit
[[https://melpa.org/#/exunit][https://melpa.org/packages/exunit-badge.svg]]
Provides commands to run [[https://hexdocs.pm/ex_unit/ExUnit.html][ExUnit]] tests. The output is syntax
highlighted and stacktraces are navigatable.* Setup
exunit is available in [[https://melpa.org/#/exunit][melpa]] and can be installed via package-install
command.#+begin_src emacs-lisp
(add-hook 'elixir-mode-hook 'exunit-mode);; Optionally configure `transient-default-level' to 5 to show extra switches
;; Or use `C-x l' to change the level of individual commands and switches
(setq transient-default-level 5) ;; default is 4
#+end_srcCurrently, 2 extra switches are shown, =--exclude= and =--include=.
* Commands
| Keyboard | Description |
|-------------+---------------------------------------------------------------------------------------------------------------|
| =C-c , a= | *exunit-verify-all* Run all the tests in the current project |
| =C-c , u= | *exunit-verify-all-in-umbrella* Run all the tests in the current umbrella project |
| =C-c , v= | *exunit-verify* Run all the tests in the current buffer, or the test file corresponding to the current buffer |
| =C-c , s= | *exunit-verify-single* Run the test under the point |
| =C-c , r= | *exunit-rerun* Re-run the last test invocation |
| =C-c , t= | *exunit-toggle-file-and-test* Toggle between a file and its tests in the current window |
| =C-c , d= | *exunit-debug* Run the test under the point in IEx shell. Supports IEx.pry method for debugging. |
| =C-c , 4 t= | *exunit-toggle-file-and-test-other-window* Toggle between a file and its tests in other window |Invoking any of these commands with a prefix argument =C-u= will
cause a prompt to be shown for additional arguments before the
test(s) are run.[[https://raw.githubusercontent.com/ananthakumaran/exunit.el/master/screenshots/sample.png]]
* Run tests in a docker
For example, you can redefine an =exunit-mix-command= to the following to execute in =backend= service context:
#+begin_src emacs-lisp
(setq exunit-mix-command
(lambda (args)
(let* ((args (s-join " " args))
(mix-command (concat "'mix test " args "'")))
;; Adjust to your needs
(list "docker-compose" "exec" "backend" "sh" "-c" mix-command))))
#+end_src