That's understandable, since Typo3 knows nothing of Aimeos' tables (see this longstanding issue) and the testing framework doesn't instantiate them. I will also need the product, attribute, etc. tables later on, so this is just the first error.

So, my question is: how do I test my components in this scenario? I can think of two ways:

a) run the aimeos extension update script in `setUp()` — but I don't yet know how.

b) prepare the tables using a fixture, or, if that is not possible, directly using doctrine DBAL to create the tables.

c) Mock the Aimeos context in some way that doesn't ruin the integration/functional nature of my tests. That would be my least preferred option.

Which one do you think is the better way? Which one are you using in your own tests? I wasn't able to find an answer in the aimeos-typo3 code, but maybe just didn't look in the right places.

Thanks for your answer So it's basically running the Aimeos Update script, I can live with that (even though it makes the test very slow.)

It seems it can't find the static_countries table during the call to Setup::execute(), and hence some SQL fails. I'll see if I can find that table somewhere and just add it as a fixture or directly over Doctrine.

We're using dev-master because we were initially relying on the (bug-free implementation) of some newer additions to Aimeos, such as JQAdm and the JSON API. Our project is in active development, and we're going to cut to a stable release as soon as the project nears completion. In the meantime, we can test bleeding edge Aimeos and send you bug reports

aleks wrote:Thanks for your answer So it's basically running the Aimeos Update script, I can live with that (even though it makes the test very slow.)

Put the method call into the setUpBeforeClass() of your test classes. Then, the tables will be checked only once for each test class.

aleks wrote:It seems it can't find the static_countries table during the call to Setup::execute(), and hence some SQL fails. I'll see if I can find that table somewhere and just add it as a fixture or directly over Doctrine.

Yes, the static_countries tables are not part of Aimeos but of the static_info_tables extension.

aleks wrote:We're using dev-master because we were initially relying on the (bug-free implementation) of some newer additions to Aimeos, such as JQAdm and the JSON API. Our project is in active development, and we're going to cut to a stable release as soon as the project nears completion. In the meantime, we can test bleeding edge Aimeos and send you bug reports

Always very welcome! According to our todo list, the PHP changes are almost done besides renaming all templates for consistency (default -> standard). The most active development is currently in the JQAdm interface (using Vue.js in templates) so please expect a few problems there from time to time ...

Professional support and custom implementation are available at Aimeos.com