Skip to content

nlamirault/phpunit.el

Repository files navigation

phpunit.el

License GPL 3

  • Master automated tests Coverage Status

Manage the PHPUnit tests from Emacs (>= 24.3)

Installation

The recommended way to install phpunit.el is via MELPA:

M-x package-install phpunit.el

or Cask:

(depends-on "phpunit.el")

Usage

Available commands

These functions are available :

  • phpunit-current-test: launch unit tests for the current test in a class
  • phpunit-current-class: launch unit tests for the current class
  • phpunit-current-project: launch all unit tests
  • phpunit-group: launch PHPUnit for group

You can create some key bindings with these commands:

(define-key web-mode-map (kbd "C-t t") 'phpunit-current-test)
(define-key web-mode-map (kbd "C-t c") 'phpunit-current-class)
(define-key web-mode-map (kbd "C-t p") 'phpunit-current-project)

or use the minor mode :

(add-to-list 'auto-mode-alist '("\\.php$'" . phpunit-mode))

Configuration

The following configuration variables are available:

(setq phpunit-configuration-file "phpunit.xml")
(setq phpunit-root-directory "./")

Development

Cask

phpunit.el use Cask for dependencies management. Install it and retrieve dependencies :

$ curl -fsSL https://raw.githubusercontent.com/cask/cask/master/go | python
$ export PATH="$HOME/.cask/bin:$PATH"
$ cask

Testing

  • Launch unit tests from shell

      $ make clean test
    
  • Using overseer :

Keybinding Description
C-c , t launch unit tests from buffer
C-c , b launch unit tests
C-c , g launch unit tests with tag (find, regexp, ...)
  • Tips:

If you want to launch a single unit test, add a specify tag :

(ert-deftest test-foobar ()
  :tags '(current)

And launch it using : C-c , g and specify tag : current

Support / Contribute

See here

Changelog

A changelog is available here.

License

See LICENSE.

Contact

Nicolas Lamirault [email protected]