2
0

OrmTestMemory.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Test\PhpDevCommunity\PaperORM\Common;
  3. use PhpDevCommunity\PaperORM\EntityManager;
  4. use PhpDevCommunity\PaperORM\PaperConfiguration;
  5. use PhpDevCommunity\UniTester\TestCase;
  6. use Test\PhpDevCommunity\PaperORM\Entity\UserTest;
  7. use Test\PhpDevCommunity\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, 1000, false);
  21. $memory = memory_get_usage();
  22. $users = $em->getRepository(UserTest::class)
  23. ->findBy()
  24. ->toObject();
  25. $this->assertStrictEquals(1000, 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. }