GitHunt
JP

jpablobr/testr

Emacs quick and easy Ruby TDD

TestR

Quick and easy Ruby
(Rspec and
Test::Unit)
TDD on Emacs.

Mostly based off Jim Weirich
emacs-setup-esk/testing.el.

It also includes toggle.el:

;; toggle.el --- quickly open corresponding file (eg test vs impl).
;; Copyright (C) 2006-2007 by Ryan Davis
;; Author: Ryan Davis <ryand-ruby@zenspider.com>

PS. It has nothing to do with the
TestR (renamed to
Tork) project. I just stole the name
:)

anyway,

Features:

Quickly

  • jump between {specs,tests} for fast viewing and editing.
  • run {specs,tests} files.
  • run {specs,tests} methods.

Installation:

In your emacs config:

(add-to-list 'load-path "~/.emacs.d/load/path/testr.el")
(require 'testr)

noansi

By default it will remove non-ansi characters with the bin/noansi
ruby script. So, you should put it somewhere in your $PATH.

$ cd testr
$ cp bin/noansi ~/bin # if ~/bin is in your $PATH

.env.rc

If you would like to define $ENV specific setting for your project you
could add them to an .env.rc file in your project's root directory.

.togglerc

If you want to use the toggling functionality, you should add a
.togglerc file to your project's root directory.

Example -- Set the style only:

(buffer-toggle-style 'my-project-name)

Example -- Define a mapping and then select it:

(buffer-toggle-mapping
'(my-project-name    
  (("test/\\1_test.rb" . "lib/\\1.rb")
  ("\\1_test.rb"      . "\\1.rb"))))
(buffer-toggle-style 'my-project-name)

For more examples see jimweirich .togglerc
here
or
mine.

Finally:

M-x testr-mode

or for true TDD:

(add-hook 'ruby-mode-hook '(lambda () (testr-mode)))

Usage

Key binding:

  • M-t => testr-toggle-buffer
  • C-c tf => testr-run-test-file
  • C-c tm => testr-run-test-method
  • C-c sf => testr-run-spec-file
  • C-c sm => testr-run-spec-method
  • C-c rr => testr-run-last-test-or-spec-file
  • C-c rm => testr-run-last-test-or-spec-method

Complete list of functions:

testr-mode
testr-code-test-split
testr-kill-test-buffer
testr-mark-for-testing
testr-run-last-test-or-spec-file
testr-run-last-test-or-spec-method
testr-run-spec-file
testr-run-spec-method
testr-run-test-file
testr-run-test-functionals
testr-run-test-integration
testr-run-test-method
testr-run-test-or-spec-file
testr-run-test-or-spec-method
testr-run-test-rake
testr-run-test-units
testr-split-or-toggle
testr-toggle-buffer
testr-toggle-clear-buffer-styles
testr-toggle-warnings

Languages

Emacs Lisp100.0%

Contributors

Created January 28, 2012
Updated August 13, 2019