unity多文件单元测试的编写思考,可能无法做大打印的信息直接定位到特定文件。只显示BEGIN的文件。

This commit is contained in:
建峰 2024-08-28 00:15:21 +08:00
parent c6ec1b1574
commit 81c7854033
7 changed files with 34 additions and 24 deletions

View File

@ -205,7 +205,7 @@ static void demo_stack_struct(void)
} }
stack->destory(stack); stack->destory(stack);
stack_free(stack); stack_free(&stack);
} }
void demo_stack(void) void demo_stack(void)

View File

@ -51,6 +51,6 @@ bool stack_init(struct _stack* self, uint32_t obj_size);
bool stack_init2(struct _stack* self, uint32_t obj_size, uint32_t capacity); bool stack_init2(struct _stack* self, uint32_t obj_size, uint32_t capacity);
stack_t stack_new(void); stack_t stack_new(void);
void stack_free(stack_t stack); void stack_free(stack_t* stack);
#endif // _STACK_H_ #endif // _STACK_H_

2
mk.bat
View File

@ -7,4 +7,4 @@ cmake -B build -G "MinGW Makefiles"
make -C build make -C build
make -C build install make -C build install
start /b ./build/release/bin/test.exe "./build/release/bin/test.exe"

View File

@ -327,11 +327,12 @@ stack_t stack_new(void)
return (struct _stack*)malloc(sizeof(struct _stack)); return (struct _stack*)malloc(sizeof(struct _stack));
} }
void stack_free(stack_t stack) void stack_free(stack_t *stack)
{ {
if(stack) if(*stack)
{ {
stack->destory(stack); (*stack)->destory(*stack);
free(stack); free(*stack);
} }
*stack = NULL;
} }

View File

@ -699,7 +699,7 @@ void tree_preorder(struct _tree* self, struct _tree_node* root)
} }
} }
} }
stack_free(stack); stack_free(&stack);
#endif #endif
} }
@ -784,7 +784,7 @@ void tree_inorder(struct _tree* self, struct _tree_node* root)
} }
} }
} }
stack_free(stack); stack_free(&stack);
#endif #endif
} }
@ -879,8 +879,8 @@ void tree_postorder(struct _tree* self, struct _tree_node* root)
self->print_obj(node->obj); self->print_obj(node->obj);
} }
stack_free(stack); stack_free(&stack);
stack_free(stack2); stack_free(&stack2);
#endif #endif
} }

View File

@ -70,8 +70,11 @@ void tearDown(void)
int main(int argc, char const *argv[]) int main(int argc, char const *argv[])
{ {
printf("\n---------- 데禱꿎桿 ----------\n"); printf("----- 데禱꿎桿 -----\n");
UNITY_BEGIN(); UNITY_BEGIN();
RUN_TEST(test_stack);
return UNITY_END(); test_stack();
UNITY_END();
return 0;
} }

View File

@ -17,34 +17,40 @@ static void test_stack_num(void)
int temp = 0; int temp = 0;
uint32_t len = sizeof(data) / sizeof(data[0]); uint32_t len = sizeof(data) / sizeof(data[0]);
struct _stack s; stack_t stack = NULL;
TEST_ASSERT_TRUE(stack_init(&s, sizeof(int))); stack = stack_new();
s.print_obj = print_num; TEST_ASSERT_TRUE(stack_init(stack, sizeof(int)));
stack->print_obj = print_num;
TEST_ASSERT_FALSE(s.peek(&s, &temp)); TEST_ASSERT_FALSE(stack->peek(stack, &temp));
for (i = 0; i < len; i++) for (i = 0; i < len; i++)
{ {
s.push(&s, &data[i]); stack->push(stack, &data[i]);
s.peek(&s, &temp); stack->peek(stack, &temp);
} }
for (i = 0; i < len + 1; i++) for (i = 0; i < len + 1; i++)
{ {
if (true == s.pop(&s, &temp)) if (true == stack->pop(stack, &temp))
{ {
if(false != s.peek(&s, &temp)) if(false != stack->peek(stack, &temp))
{ {
TEST_ASSERT_EQUAL(data[len - 2 - i], temp); TEST_ASSERT_EQUAL(data[len - 2 - i], temp);
} }
} }
} }
TEST_ASSERT_TRUE(s.empty(&s)); TEST_ASSERT_TRUE(stack->empty(stack));
s.destory(&s); stack_free(&stack);
TEST_ASSERT_NULL(stack);
} }
void test_stack(void) void test_stack(void)
{ {
// UNITY_BEGIN();
RUN_TEST(test_stack_num); RUN_TEST(test_stack_num);
// UNITY_END();
} }