Lauren Commons wrote:
>
> Does anyone have and autocode template for generating
> a JUnit test case (and suite) file?
> I've started working on one, but as it is my very
> first forey into this sort of thing soit would make
> more sense to ask if someone else already did it.
Yes. I don't remember where I first got it, I think it may have been posted to
the list sometime in the last year. Or else I found it someplace while looking
for JDE add-ons. I've got two entries in my .emacs for creating a JUnit
template. I'm very weak when it comes to Lisp; I think the entries actaully
duplicate one another, but I'm not sure. Here's one:
(defcustom jde-gen-test-class-buffer-template
(list
"(funcall jde-gen-boilerplate-function) '>'n"
"\"/**\" '>'n"
"\" * \""
"(file-name-nondirectory buffer-file-name) '>'n"
"\" *\" '>'n"
"\" *\" '>'n"
"\" * Created: \" (current-time-string) '>'n"
"\" *\" '>'n"
"\" * @author <a href=\\\"mailto: \\\"\" (user-full-name)
\"</a>\"'>'n"
"\" * @version\" '>'n"
"\" */\" '>'n'"
"'>'n"
"\"public class \""
"(file-name-sans-extension (file-name-nondirectory
buffer-file-name))"
"\" extends TestCase\""
"(if jde-gen-k&r "
"()"
"'>'n)"
"\"{\"'>'n'n"
"\"public \""
"(file-name-sans-extension (file-name-nondirectory
buffer-file-name))"
"\" (String name)\""
"(if jde-gen-k&r "
"()"
"'>'n)"
"\"{\"'>'n"
"\"super(name);\""
"'>'p'n"
"\"}\">"
"'>'n'n"
"\"protected void setUp() \""
"(if jde-gen-k&r "
"()"
"'>'n)"
"\"{\"'>'n"
"'>'p'n"
"\"}\">"
"'>'n'n"
"\"public static Test suite() \""
"(if jde-gen-k&r "
"()"
"'>'n)"
"\"{\"'>'n"
"\"return new TestSuite(\""
"(file-name-sans-extension (file-name-nondirectory
buffer-file-name))"
"\".class);\"'n"
"'>'p'n"
"\"}\">"
"'>'n'n"
"\"public static void main(String[] args) \""
"(if jde-gen-k&r "
"()"
"'>'n)"
"\"{\"'>'n"
"\"junit.textui.TestRunner.run(\""
"(file-name-sans-extension (file-name-nondirectory
buffer-file-name))"
"\".class);\"'n"
"'>'p'n"
"\"}\">"
"'>'n'n"
"\"}\">"
"\"// \""
"(file-name-sans-extension (file-name-nondirectory
buffer-file-name))"
"'>'n")
"*Template for new Java class.
Setting this variable defines a template instantiation
command `jde-gen-test-class', as a side-effect."
:group 'jde-gen
:type '(repeat string)
:set '(lambda (sym val)
(defalias 'jde-gen-test-class
(tempo-define-template "java-test-class-buffer-template"
(jde-gen-read-template val)
nil
"Insert a generic Java class buffer skeleton."))
(set-default sym val)))
;;;###autoload
(defun jde-gen-test-class-buffer (file)
"Create a new Java buffer containing a class of the same name.
This command inserts the class template generated by `jde-gen-class'.
It then moves the point to the location to the constructor."
(interactive "F")
(find-file file)
(jde-gen-test-class)
(beginning-of-buffer)
(search-forward "{")
(backward-char 1)
(c-indent-exp)
(tempo-forward-mark))
====================================================================
And this is the other:
'(jde-gen-test-class-buffer-template (quote ("(funcall
jde-gen-boilerplate-function)" "\"package ;\"'>'n" "'>'n" "\"import
junit.framework.*;\"'>'n" "'>'n" "\"/**\" '>'n" "\" * \""
"(file-name-nondirectory buffer-file-name) '>'n" "\" *\" '>'n" "\" *\" '>'n"
"\" * Created: \" (current-time-string) '>'n" "\" *\" '>'n" "\" * @author <a
href=\\\"mailto: \\\"\" (user-full-name)
\"</a>\"'>'n" "\" * @version\" '>'n" "\" */\" '>'n'" "'>'n" "\"public class
\"" "(file-name-sans-extension (file-name-nondirectory
buffer-file-name))" "\" extends TestCase\"" "(if jde-gen-k&r " "()" "'>'n)"
"\" {\"'>'n'n" "\"public \"" "(file-name-sans-extension
(file-name-nondirectory
buffer-file-name))" "\" (String name)\"" "(if jde-gen-k&r " "()" "'>'n)" "\"
{\"'>'n" "\"super(name);\"" "'>'p'n" "\"}\">" "'>'n'n" "\"protected void
setUp() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n" "\"}\">" "'>'n'n"
"\"public static Test suite() \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n"
"\"return new TestSuite(\"" "(file-name-sans-extension (file-name-nondirectory
buffer-file-name))" "\".class);\"'n" "\"}\">" "'>'n'n" "\"public static void
main(String[] args) \"" "(if jde-gen-k&r " "()" "'>'n)" "\"{\"'>'n"
"\"junit.textui.TestRunner.run(\"" "(file-name-sans-extension
(file-name-nondirectory
buffer-file-name))" "\".class);\"'n" "\"}\">" "'>'n" "\"}\">" "'>'n")))