What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

Hi all, I'm having some issues with Codeception for Zed unit tests. I'd like to mock `MyModuleBusine

UKHR9UN00
UKHR9UN00 Posts: 70 🧑🏻‍🚀 - Cadet

Hi all,
I'm having some issues with Codeception for Zed unit tests.
I'd like to mock MyModuleBusinessFactory using SprykerTest\Zed\Testify\Helper\BusinessHelper.
Unfortunately the test class gets executed with the actor defined in the project codeception.yml instead of MyModuleBusinessTester in the PyzTest\Zed\MyModule namespace (although added to tests/PyzTest/Zed/MyModule/codeception.yml).
Because of this the BusinessHelper cannot resolve the factory class name in \SprykerTest\Shared\Testify\Helper\BusinessHelper::getFactoryClassName.

Does someone know how to override the actor in this scenario?

Comments

  • UKHR9UN00
    UKHR9UN00 Posts: 70 🧑🏻‍🚀 - Cadet
    edited June 2020

    I could not find a solution for this particular issue but overriding the test configuration in the setUp()-Method does the trick for me:

        protected function setUp(): void
        {
            $reflector = new ReflectionClass($this);
            Configuration::append(['namespace' => $reflector->getNamespaceName()]);
            parent::setUp();
        }
    

    This way the BusinessHelper can resolve the Factory.