nette tester – no tests executed

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Matej123
Člen | 150
+
0
-

V testovaniach som zaciatocnik a chcel by som vediet ako testovat s nette testerom, pridal som si ho cez composer, vygenerovalo mi to jednoduchu example sablonu testu :

<?php

namespace Test;

use Nette;
use Tester;
use Tester\Assert;

$container = require __DIR__ . '/bootstrap.php';


class ExampleTest extends Tester\TestCase
{
	private $container;


	function __construct(Nette\DI\Container $container)
	{
		$this->container = $container;
	}


	function setUp()
	{
	}


	function testSomething()
	{

        }

}


$test = new ExampleTest($container);
$test->run();

?>

samotne testy sa pisu do metody testSomething(). Ako napriklad otestujem tento priklad: Mam model Calculator manager, ktory spocitava cisla, ma metodu calculate(operacia, cislo1, cislo2). Ako mam urobit jednoduchy test ze ked zadam parametre: spocitaj, 1,2 ze skutocne vrati cislo 3(viem, je to velmi trivialny priklad, ale chcem zistit princip ako to funguje :) ).

Jan Endel
Člen | 1016
+
0
-

Ahoj Matěji,

a jakou koncovku maj soubory s těmi testy? Pouštíš je jako jeden soubor nebo se snažíš pustit celý adresář? Viz dokumentace k testování:

Se změnou struktury se spouštění testů nijak neliší. Tester rekurzivně najde všechny *.phpt testy a spustí je

Takže pokud chceš pustit všechny testy ve složce – musí být s koncovkou .phpt.

Matej123
Člen | 150
+
0
-

maju koncovku .phpt. Spustam to v NetBeans pravym tlacitkom na subor ExampleTest.phpt → RunFile. Tie testy sa pisu nejako takto:

<?php
	function testSomething(){
	Assert::equal(10, calculator->add('add', 5,5))
}
?>

?

Jan Endel napsal(a):

Ahoj Matěji,

a jakou koncovku maj soubory s těmi testy? Pouštíš je jako jeden soubor nebo se snažíš pustit celý adresář? Viz dokumentace k testování:

Se změnou struktury se spouštění testů nijak neliší. Tester rekurzivně najde všechny *.phpt testy a spustí je

Takže pokud chceš pustit všechny testy ve složce – musí být s koncovkou .phpt.

Jan Endel
Člen | 1016
+
0
-

A co ten run provede?

Milo
Nette Core | 1283
+
0
-

@Matej123 Soubor *.phpt jsi spustil jako obyčejný PHP skript. Když nic nevypsal, vše je OK. Zkus v něm nějakou chybnou aserci, třeba Assert::true(FALSE).

Testy také můžeš spustit hromadně z command line, např: vendor/bin/tester app/test. Tam toho uvidíš víc.

PS: NetBeans neznám, možná tam na to hromadné spuštění existuje zkratka.

Matej123
Člen | 150
+
0
-

vypise mi spravu: No tests executed.

Jan Endel napsal(a):

A co ten run provede?

Milo
Nette Core | 1283
+
0
-

@Matej123 Jen poznámka… Je to hláška NetBeansů, ne Testeru.

mapl
Člen | 8
+
0
-

@Matej123 No a máš nastavené správně NetBeans? Project Properties / Testing a tam přidaný adresář kde máš ty testy.