tester nevykonání testů při použití TestCase
- Petr9
- Člen | 32
Při pokusu o implementaci testu mi docházi k problémům.
Pokud mám testy napsané podobné tomuto: https://tester.nette.org/cs/#… bez třídy a užití TestCase a daný test pouštím pomocí: php cesta_k_souboru_testu, tak test se vykoná správně.
Při pokusu o spuštění pomoci vendor\bin\tester.bat tests/app se vypíše chyba:
Exited with error code 255 (expected 0)
←[1m←[37mNette\Database\ConnectionException: could not find driver←[0m
in src\Database\DriverException.php(25)←[1m←[30m ←[0m
in src\Database\Connection.php(70)←[1m←[30m Nette\Database\DriverException::from()←[0m
.....
Následně jsem chtel testy zlepší o použití TestCase, tedy kod vypadá takto:
<?php
require_once __DIR__ . '/../../bootstrap.php';
use Tester\Assert;
use Tester\TestCase;
use YetORM\EntityCollection as EC;
use Nette\Database\ResultSet as NResultSet;
use Nette\Database\Connection as NConnection;
class CategoriesRepositoryTest extends TestCase
{
public function test()
{
$repo = ServiceLocator::getCategoriesRepository();
/** @var \App\Models\Category $category */
$category = $repo->getByID(1);
Assert::true($category instanceof App\Models\Category);
Assert::equal(3, $category->getChilds()->count());
}
}
# Spuštění testovacích metod
$testCase = new CategoriesRepositoryTest();
$testCase->run();
Třidy serviceLocator a bootstrap jsem se inspiroval u testů z YetORM. Nyní ale po spustení testů pomocí php cesta_k_souboru_testu se mi vypíše chyba: Error: This test forgets to execute an assertion.
Kde je problém?
Ideálně bych rád spouštěl testy pomocí příkazu tester (tedy proč to nenajde driver?) a používal pro psaní testů třídu TestCase (tedy aby to pak nevypisovalo že nejsou asserce, když se v funkci vyskytují)
Díky za rady
- Petr9
- Člen | 32
To se vztahuje k tomu problému se spoustením pomocí tester že?
když jsem to ozkoušel podle dokumentace vytvořil php.ini
s obsahem:
\[ PHP\]
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
memory_limit=512M
stále se zobrazuje stejná chyba
( FAILED: App\Models\categoriesRepositoryTest.phpt←[0m
Exited with error code 255 (expected 0)
←[1m←[37mNette\Database\ConnectionException: could not find driver←)
Je tedy potřeba nějak upravit soubor php.ini? Podle čeho pozná co je potřeba přidat?
Editoval Petr9 (15. 7. 2016 20:07)