The day before I read these posts I knocked up a JUnit template.  It
probably needs some work to be useful to everyone, but it might make a good
start.

Noel
--------------

(defvar test-case-class-regexp 
  "\\(.*\\)Test.java"
  "Regular expression to determine the class a unit test tests")

(defun test-case-class (class-name)
  (let* ((start (string-match test-case-class-regexp class-name))
                 (end (match-end 1)))
        (substring class-name start end)))


(defconst gen-test-case
  (tempo-define-template 
   "java-unit-test-template"
   (list
        '(funcall jde-gen-boilerplate-function) '>'n
        'n
        "import junit.framework.TestCase;" '>'n
        "import junit.framework.Test;" '>'n
        "import junit.framework.TestSuite;" '>'n
        'n
        "/**" '>'n
        " *" 
        " Unit tests for "
        '(test-case-class (file-name-nondirectory buffer-file-name)) '>'n
        "*" '>'n
        "*/" '>'n'
        '>'n
        "public class "
        '(file-name-sans-extension (file-name-nondirectory
buffer-file-name))
        " extends TestCase "

        '(if jde-gen-k&r "" (list '>'n))
   
        "{" '>'n

        "public "
        '(file-name-sans-extension (file-name-nondirectory
buffer-file-name))
        "(String name)"
        '(if jde-gen-k&r "" (list '>'n))
        "{" '>'n
        "super(name);" 
        '>'p'n
        "}" '>
        '>'n
        'n
        "public static TestSuite suite() {" '>'n
        "TestSuite suite = new TestSuite("
        '(file-name-sans-extension (file-name-nondirectory
buffer-file-name))
        ".class);" '>'n
        'n
        "return suite;" '>'n
        "}" '>'n
        "}" '>
        "// "
        '(file-name-sans-extension (file-name-nondirectory
buffer-file-name))
        '>'n 
        ))
  "Generate a unit test template")

(defun test-case-template ()
  "Create a unit test template"
  (interactive)
  (funcall gen-test-case))
        

Reply via email to