Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Phpunit test metody z parametrem
Matrix12
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Witam,

Jak przetestować metodę która otrzymuje parametr? Jak napisać mocka lub stuba do takiej konfiguracji
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Matrix12
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Mam metodę ktora przyjmuje parametr i wyciaga dane z bazy. Chce użyć staba i przetestować metodę. Problem w tym ze nie wiem jak przekazac parametr w stubie ktory testuje dana metodę




Mam klasę Database w której mam dwie metody jedną prywatną connectWithDatabase() która łączy się z baza poprzez PDO a druga to query która przyjmuje tablice jako parametr.


W klasie Application wtrzykuje Database, i mam metode allproducts
  1.  
  2. function allProducts()
  3. {
  4. $result= $this->database->query(array('sql'=>'SELECT * FROM products'));
  5.  
  6. return $result;
  7. }




Test wygląda tak

  1. function test_application_query()
  2. {
  3.  
  4. $database = Mockery::mock('Database');
  5. $database->shouldReceive('query')->once()->with(array('sql'=>'SELECT * FROM products'))
  6. ->andReturn($database);
  7. $application = new \Acme\Application($database);
  8. $this->assertEquals($this->allDomains(), $application->allProducts());
  9. }
  10.  
  11.  
  12. function allProducts()
  13. {
  14. $database = new Database;
  15. $result = $database->querySelect(array('sql'=>'SELECT * FROM products'));
  16. return $result;
  17. }




konsola pluje to :




1) QUeryBuilderTest::test_application_query
Mockery_0__Database Object (...) does not match expected type "array".

/var/www/domeny3/tests/QueryBuilderTest.php:53

FAILURES!


Jakieś sugestie jak to przetestować? A może nie używać stub, tylko normalnie poprzez wywołanie ?

Ten post edytował Matrix12 24.08.2015, 20:07:54
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 13:07