Codeception / Codeception/module-doctrine
Doctrine2 Module: Is `flush()` before checking the database so necessary?
- Ngôn ngữ chính
- PHP
- Star
- 4
- Fork
- 2
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Why do we flush managed Doctrine entities before checking the database in [`Doctrine2::proceedSeeInRepository()`](https://github.com/Codeception/Codeception/blob/bd6ad8af1fa7cd12684f0287374b9fe71a8c958a/src/Codeception/Module/Doctrine2.php#L378)?
In functional tests the Entity Manager of application is used in the Codeception Doctrine2 Module. If we do test a request with validation rejection, and we want to be sure the database was not changed, the test result will be false negative (the request fetches and populates some entity, but didn't save changes to the database, and then `dontSeeInRepository()` flushes the invalid entity to the database and does fail).
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu trong src/Codeception/Module/Doctrine2.php tại Doctrine2::proceedSeeInRepository(), đặc biệt là flush trước khi kiểm tra cơ sở dữ liệu. Xem lại kịch bản từ chối validation của issue và các module test hiện có, sau đó xác minh rằng việc kiểm tra nội dung repository không persist các thay đổi của các managed entity đã được fetch hoặc không hợp lệ; các test liên quan phải pass mà không có false negative.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- php
- Lĩnh vực
- databases, testing
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100