OrmTestMemory.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace Test\Michel\PaperORM\Common;
  3. use Michel\PaperORM\EntityManager;
  4. use Michel\PaperORM\PaperConfiguration;
  5. use Michel\UniTester\TestCase;
  6. use Test\Michel\PaperORM\Entity\UserTest;
  7. use Test\Michel\PaperORM\Helper\DataBaseHelperTest;
  8. class OrmTestMemory extends TestCase
  9. {
  10. protected function setUp(): void
  11. {
  12. }
  13. protected function tearDown(): void
  14. {
  15. }
  16. protected function execute(): void
  17. {
  18. foreach (DataBaseHelperTest::drivers() as $params) {
  19. $em = EntityManager::createFromConfig(PaperConfiguration::fromArray($params));
  20. DataBaseHelperTest::init($em, 5000, false);
  21. $memory = memory_get_usage();
  22. $users = $em->getRepository(UserTest::class)
  23. ->findBy()
  24. ->toObject();
  25. $this->assertStrictEquals(5000, count($users));
  26. foreach ($users as $user) {
  27. $this->assertInstanceOf(UserTest::class, $user);
  28. $this->assertNotEmpty($user);
  29. }
  30. $memory = memory_get_usage(true) - $memory;
  31. $memory = ceil($memory / 1024 / 1024);
  32. $this->assertTrue( $memory <= 30 );
  33. $em->getConnection()->close();
  34. }
  35. }
  36. }