Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d7d7e61

Browse files
committed
added fixed tests for beforeeach/aftereach
1 parent 15740aa commit d7d7e61

9 files changed

Lines changed: 148 additions & 0 deletions

tests/RunAll.sql

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ create table ut$test_table (val varchar2(1));
145145
@@lib/RunTest.sql ut_test/ut_test.TeardownProcedureNameInvalid.sql
146146
@@lib/RunTest.sql ut_test/ut_test.TeardownProcedureNameNull.sql
147147
@@lib/RunTest.sql ut_test/ut_test.IgnoreTollbackToSavepointException.sql
148+
@@lib/RunTest.sql ut_test/ut_test.AfterEachExecuted.sql
149+
@@lib/RunTest.sql ut_test/ut_test.AfterEachProcedureNameInvalid.sql
150+
@@lib/RunTest.sql ut_test/ut_test.AfterEachProcedureNameNull.sql
151+
@@lib/RunTest.sql ut_test/ut_test.BeforeEachExecuted.sql
152+
@@lib/RunTest.sql ut_test/ut_test.BeforeEachProcedureNameInvalid.sql
153+
@@lib/RunTest.sql ut_test/ut_test.BeforeEachProcedureNameNull.sql
148154

149155
@@lib/RunTest.sql ut_test_suite/ut_test_suite.ErrorsATestWhenAfterTestFails.sql
150156
@@lib/RunTest.sql ut_test_suite/ut_test_suite.ErrorsATestWhenBeforeTestFails.sql

tests/helpers/ut_example_tests.pkb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,25 @@ as
1111
begin
1212
g_char := null;
1313
end;
14+
15+
procedure beforeeach as
16+
begin
17+
g_number2 := 0;
18+
end;
19+
20+
procedure aftereach
21+
as
22+
begin
23+
g_char2 := 'F';
24+
end;
1425

1526
procedure ut_passing_test
1627
as
1728
begin
1829
g_number := g_number + 1;
30+
g_number2 := g_number2 + 1;
1931
g_char := 'a';
32+
g_char2 := 'a';
2033
ut.expect(1,'Test 1 Should Pass').to_equal(1);
2134
end;
2235

tests/helpers/ut_example_tests.pks

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
create or replace package ut_example_tests
22
as
33
g_number number;
4+
g_number2 number;
45
g_char varchar2(1);
6+
g_char2 varchar2(1);
57
procedure setup;
68
procedure teardown;
9+
procedure beforeeach;
10+
procedure aftereach;
711
procedure ut_passing_test;
812
procedure ut_commit_test;
913
end;
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
PROMPT Invoke aftereach procedure
2+
3+
--Arrange
4+
declare
5+
simple_test ut_test := ut_test(
6+
a_object_name => 'ut_example_tests'
7+
,a_name => 'ut_passing_test'
8+
,a_after_each_proc_name => 'aftereach'
9+
);
10+
listener ut_event_listener := ut_event_listener(ut_reporters());
11+
begin
12+
--Act
13+
simple_test.do_execute(listener);
14+
--Assert
15+
if simple_test.result = ut_utils.tr_success and ut_example_tests.g_char2 = 'F' then
16+
:test_result := ut_utils.tr_success;
17+
end if;
18+
end;
19+
/
20+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
PROMPT Does not execute test and reports error when test aftereach procedure name for a test is invalid
2+
3+
--Arrange
4+
declare
5+
simple_test ut_test := ut_test(
6+
a_after_each_proc_name => 'invalid setup name'
7+
,a_object_name => 'ut_example_tests'
8+
,a_name => 'ut_exampletest'
9+
);
10+
listener ut_event_listener := ut_event_listener(ut_reporters());
11+
begin
12+
ut_example_tests.g_char := 'x';
13+
ut_example_tests.g_char2 := 'x';
14+
--Act
15+
simple_test.do_execute(listener);
16+
--Assert
17+
if ut_example_tests.g_char2 = 'x' and simple_test.result = ut_utils.tr_error then
18+
:test_result := ut_utils.tr_success;
19+
end if;
20+
end;
21+
/
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
PROMPT Does not invoke aftereach procedure when aftereach procedure name for a test is null
2+
3+
--Arrange
4+
declare
5+
simple_test ut_test := ut_test(
6+
a_after_each_proc_name => null
7+
,a_object_name => 'ut_example_tests'
8+
,a_name => 'ut_passing_test'
9+
);
10+
listener ut_event_listener := ut_event_listener(ut_reporters());
11+
begin
12+
--Act
13+
simple_test.do_execute(listener);
14+
--Assert
15+
if ut_example_tests.g_char2 = 'a' then
16+
:test_result := ut_utils.tr_success;
17+
else
18+
dbms_output.put_line('expected: ut_example_tests.g_char = ''a'', got: '||ut_example_tests.g_char2 );
19+
end if;
20+
end;
21+
/
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
PROMPT Invoke beforeeach procedure
2+
3+
--Arrange
4+
declare
5+
simple_test ut_test := ut_test(
6+
a_object_name => 'ut_example_tests'
7+
,a_name => 'ut_passing_test'
8+
,a_before_each_proc_name => 'beforeeach'
9+
);
10+
listener ut_event_listener := ut_event_listener(ut_reporters());
11+
begin
12+
ut_example_tests.g_number2 := null;
13+
--Act
14+
simple_test.do_execute(listener);
15+
--Assert
16+
if ut_example_tests.g_number2 = 1 then
17+
:test_result := ut_utils.tr_success;
18+
end if;
19+
end;
20+
/
21+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
PROMPT Does not execute test and reports error when test beforeeach procedure name for a test is invalid
2+
3+
--Arrange
4+
declare
5+
simple_test ut_test := ut_test(
6+
a_before_each_proc_name => 'invalid setup name'
7+
,a_object_name => 'ut_example_tests'
8+
,a_name => 'ut_exampletest'
9+
);
10+
listener ut_event_listener := ut_event_listener(ut_reporters());
11+
begin
12+
ut_example_tests.g_char2 := null;
13+
--Act
14+
simple_test.do_execute(listener);
15+
--Assert
16+
if simple_test.result = ut_utils.tr_error and ut_example_tests.g_char2 is null then
17+
:test_result := ut_utils.tr_success;
18+
end if;
19+
end;
20+
/
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
PROMPT Does not invoke setup procedure when beforeeach procedure name for a test is null
2+
3+
--Arrange
4+
declare
5+
simple_test ut_test := ut_test(
6+
a_before_each_proc_name => null
7+
,a_object_name => 'ut_example_tests'
8+
,a_name => 'ut_passing_test'
9+
);
10+
listener ut_event_listener := ut_event_listener(ut_reporters());
11+
begin
12+
ut_example_tests.g_number2 := null;
13+
--Act
14+
simple_test.do_execute(listener);
15+
--Assert
16+
if ut_example_tests.g_number2 is null then
17+
:test_result := ut_utils.tr_success;
18+
else
19+
dbms_output.put_line('expected: ut_example_tests.g_number is null, got: '||ut_example_tests.g_number2 );
20+
end if;
21+
end;
22+
/

0 commit comments

Comments
 (0)