File tree Expand file tree Collapse file tree 3 files changed +92
-0
lines changed Expand file tree Collapse file tree 3 files changed +92
-0
lines changed Original file line number Diff line number Diff line change
1
+ require 'junit'
2
+
3
+ class MyJUnitTest
4
+ include JUnit
5
+
6
+ +Test ( )
7
+ def test_something_broken
8
+ assert "a" == "b"
9
+ end
10
+
11
+ +Test ( )
12
+ def test_something_good
13
+ assert "a" == "a"
14
+ end
15
+ end
16
+
17
+ JUnit . run ( MyJUnitTest )
Original file line number Diff line number Diff line change
1
+ require 'java'
2
+
3
+ class Method
4
+ attr_accessor :annotations
5
+ end
6
+
7
+ class Class
8
+ def annotate_method ( anno_values )
9
+ @annotations ||= { }
10
+ if Hash === anno_values
11
+ @annotations . merge! ( anno_values )
12
+ else
13
+ @annotations [ anno_values . java_class ] = { }
14
+ end
15
+ end
16
+
17
+ def method_added ( name )
18
+ if @annotations
19
+ add_method_annotation ( name . to_s , @annotations )
20
+ @annotations = nil
21
+ end
22
+ super
23
+ end
24
+
25
+ def annotate_class ( anno_values )
26
+ if Hash === anno_values
27
+ add_class_annotation ( anno_values )
28
+ else
29
+ add_class_annotation ( anno_values . java_class => { } )
30
+ end
31
+ end
32
+ end
Original file line number Diff line number Diff line change
1
+ require 'java'
2
+ require 'jruby/core_ext'
3
+ require 'junit-4.6.jar'
4
+ require 'annotator'
5
+
6
+ module JUnit
7
+ import org . junit . Assert
8
+ import org . junit . runner . JUnitCore
9
+ JUnitTest = org . junit . Test
10
+
11
+ def self . append_features ( cls )
12
+ super
13
+ cls . extend ( self )
14
+ end
15
+
16
+ def self . run ( *classes )
17
+ java_classes = classes . map { |c | c . become_java! ; c . java_class }
18
+ result = JUnitCore . run_classes ( java_classes . to_java ( java . lang . Class ) )
19
+ puts "
20
+ Tests run: #{ result . run_count }
21
+ Tests failed: #{ result . failure_count }
22
+ Successful: #{ result . was_successful? }
23
+ Elapsed time: #{ result . run_time / 1000.0 } s"
24
+ end
25
+
26
+ class TestAnno
27
+ def initialize ( parent )
28
+ @parent = parent
29
+ end
30
+
31
+ def +@
32
+ @parent . annotate_method JUnitTest
33
+ end
34
+ end
35
+
36
+ def Test
37
+ TestAnno . new ( self )
38
+ end
39
+
40
+ def assert ( *args )
41
+ Assert . assert_true ( *args )
42
+ end
43
+ end
You can’t perform that action at this time.
0 commit comments