Codeception / Codeception/module-doctrine

Different results if I run one test and all test in same time

未关闭
#17 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
PHP
星标
4
派生
2
PR 合并指标
30 天内没有已合并 PR

描述

#### What are you trying to achieve?
Right now, I have some strange behaviour while running functional tests. If I run one file `codecept run functional /FunctionalFolder/Services/ServiceOneCest`, all tests are success - as expected. But in secound case, when I run all created tests `codecept run functional /FunctionalFolder`, some tests are finished as expected, while some others are failed.

Somehow, in _before() section, are not executed all dependeces.

```
class ServiceOneCest
{
public function _before(FunctionalTester $I)
{
$this->entityManager = $I->grabServiceFromContainer(EntityManager::class);
$this->entity = $this->entityManager->getRepository(Entity::class)
->findOneBy([
'name' => 'test'
]);

if (!$this->entity) {
$this->entity = $I->have(Entity::class, ['name' => 'test']);
}
}

public function testSomething(FunctionalTester $I)
{
$I->assertEquals('test', $this->entity->getName());
// here I catch error message [Error] Call to a member function getName() on null
// it only happend when I run more then one test file
}
}

//also exist some other test file

class ServiceTwoCest
{
}
```

I expect same results if I run one test file or more. I need to say, don't have any dependece between test data created in `_before()`

Please, if you see any reason or my bad code/configuration anything, give me handsup. If you have some other questions, please feel free to contact me.

### Details

* Codeception version: 2.5.1
* PHP Version:PHP 7.1.25
* Operating System: ubuntu16.04.1 (on vagrant)
* Installation type: Phar || Composer
* List of installed packages (`composer show`)
* Suite configuration:
```
actor: FunctionalTester
modules:
enabled:
- ZF2
- Asserts
- \Helper\Functional
- Doctrine2:
depends: ZF2
- DataFactory:
depends: Doctrine2
- \Helper\Factories
config:
Doctrine2:
cleanup: true
```

贡献指南

这个仓库没有索引到贡献指南

调研方向

通过运行报告中所示的单文件和整个目录的 Codeception 功能测试命令来重现该问题。阅读 Cest 的 _before() 方法以及 ZF2、Doctrine2、DataFactory 和清理配置。当相同的测试单独运行或作为 suite 运行时都产生一致的结果,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
php
领域
database, testing
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。