Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Avoid phpunit 5.4 warnings on getMock (master) #19129

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 21, 2016
Merged

Avoid phpunit 5.4 warnings on getMock (master) #19129

merged 1 commit into from
Jun 21, 2016

Conversation

linaori
Copy link
Contributor

@linaori linaori commented Jun 21, 2016

Q A
Branch? master
Bug fix? yes
New feature? no
BC breaks? no
Deprecations? no
Tests pass? yes
Fixed tickets #19125
License MIT
Doc PR ~

Avoids calling getMock() in phpunit 5.4 which will trigger a warning (and thus failing test suite) when used by developers as this TestCase is an extension point.

in the other branches (opposed to #19128), this was not in the Test namespace yet but in Tests. Therefore I've only added this in the master as changed by @wouterj in e938361.

@xabbuh
Copy link
Member

xabbuh commented Jun 21, 2016

👍 LGTM

@Tobion
Copy link
Contributor

Tobion commented Jun 21, 2016

👍

@rybakit
Copy link
Contributor

rybakit commented Jun 21, 2016

What about replacing getMock() with createMock() and adding compatibility trait for phpunit < 5.4:

trait PhpUnitCompat
{
    /**
     * @param string $originalClassName
     *
     * @return \PHPUnit_Framework_MockObject_MockObject
     */
    public function createMock($originalClassName)
    {
        if (is_callable('parent::createMock')) {
            return parent::createMock($originalClassName);
        }

        return $this->getMockBuilder($originalClassName)
            ->disableOriginalConstructor()
            ->disableOriginalClone()
            ->disableArgumentCloning()
            ->getMock();
    }
}

@stof
Copy link
Member

stof commented Jun 21, 2016

We would have to include the trait everywhere in our testsuite, because we cannot require PHPUnit 5 in our testsuite (as we support PHP 5.5). So it is not worth it IMO.

@nicolas-grekas
Copy link
Member

Thank you @iltar.

@nicolas-grekas nicolas-grekas merged commit eb8c27e into symfony:master Jun 21, 2016
nicolas-grekas added a commit that referenced this pull request Jun 21, 2016
This PR was merged into the 3.2-dev branch.

Discussion
----------

Avoid phpunit 5.4 warnings on getMock (master)

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #19125
| License       | MIT
| Doc PR        | ~

Avoids calling `getMock()` in phpunit 5.4 which will trigger a warning (and thus failing test suite) when used by developers as this TestCase is an extension point.

_in the other branches (opposed to #19128), this was not in the `Test` namespace yet but in `Tests`. Therefore I've only added this in the master as changed by @wouterj in e938361._

Commits
-------

eb8c27e Avoid phpunit 5.4 warnings on getMock
@codeinabox
Copy link

Great. Which version will this appear in?

@xabbuh
Copy link
Member

xabbuh commented Jun 29, 2016

@codeinabox Symfony 3.2

@codeinabox
Copy link

In the interim is there an easy way to downgrade my version of PHPUnit? I tried setting the version constraint to 5.3.* but composer didn't seem to like that

@xabbuh
Copy link
Member

xabbuh commented Jun 29, 2016

Not sure I understand. In which context do you run into issues?

@codeinabox
Copy link

I have a lot of unit tests for my forms that extend Symfony\Component\Form\Test\TypeTestCase, which results in getMock() deprecation warnings.

@xabbuh
Copy link
Member

xabbuh commented Jun 29, 2016

That class was updated in #19128 which will be part of 2.7.15.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants