Helo, jestem Łukasz i razem z żoną prowadzimy Piernikarnie Cafe w Piszu na mazurach. Ten Blog to moje miejsce do zapisywania tego co warto jest zapamiętać. Być może przyda Ci się coś co postanowiłem zachować dla potomności :-)
Pokazywanie postów oznaczonych etykietą phpUnit. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą phpUnit. Pokaż wszystkie posty
wtorek, 5 maja 2020
Ścieżka która gdzieś prowadzi, albo notatki ze zbierania informacji jak pisać komentarz do commit'ów
Pracuje teraz dużo z PHPUNIT i projektem do którego podchodzę od kilku lat.
Mam trochę problemów z tym jak to wygląda i co zrobić...
W czasie opieki nad dziećmi włączyłem sobie YouTube by poukładać sobie to w głowie...
na początek...
Programowanie obiektowe w języku PHP5 / Moduł 7. Testowanie jednostkowe / Cz. 1
Potem pomyślałem, że przypomnę sobie SOLID. Było na tej samej playlist...
Programowanie obiektowe w języku PHP5 / Moduł 5. SOLID / Cz. 1
OK spoko. Polecam, ale może inaczej i ...
SOLID - co się za nim kryje?
potem trochę dla rozrywki...
5 grzechów początkującego programisty
hmm coś zaświtało...
3 zasady GIT Commitów - DevGuide
pomyślałem:
- Dobry temat zawsze się starałem by moje commity były użyteczne, ale jakoś nie szukałem informacji na ten temat.
#git Komentarze dobre praktyki - Kurs gita po polsku #6/12
potem propozycja od algorytmu Youtube...
Jak pisać lepiej - 17 wskazówek, które przydadzą się [...]
Wziąłem zeszyt, zrobiłem notatki, po googlowałem:
https://dev.to/gaelthomas/a-beginner-s-guide-to-git-how-to-write-a-good-commit-message-2j49
http://udacity.github.io/git-styleguide/
https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-coding-rules
Głowa pełna, są notatki i myślę, że mogę to z niej wyjąć i poukładać.
Zapowiada się coś wartościowego, a na pewno coś co mam nadzieję zacznę używać.
---------------------
Jeśli chcesz coś dodać, napisz komentarz.
Pozdrawiam
środa, 22 maja 2019
Kupno działki, opieka nad dziećmi i kilka książek i tygodni później, od rozpoczęcia porządkowania wiedzy.
Książki o :
-wzorcach projektowych,
- testowaniu danych,
- Twórcy ofiary i
i efektem jest Class'a testowa,
Ogarnę gita i dodam link do repozytorium.
Książki o :
-wzorcach projektowych,
- testowaniu danych,
- Twórcy ofiary i
i efektem jest Class'a testowa,
Ogarnę gita i dodam link do repozytorium.
/**
* Class ExampleTest
* $this->assertTrue
* $this->assertFalse
* $this->assertEquals ==
* $this->assertSame ===
* $this->assertContains('value', $array) ['value']
* $this->assertArrayHasKey('key', $array) ['key'=>'value']
* $this->assertInternalType('array', $a); type_of2
$date = new DateTime();
$this->assertInstanceOf('DateTime', $date);
*/
<?php
use PHPUnit\Framework\TestCase;
class EtestTest extends TestCase
{
/** @var \Prophecy\Prophecy\ObjectProphecy */
private $prophet;
private $mock;
private $Basic;
private $x;
protected function setup() {
$this->prophet = new \Prophecy\Prophet;
/** @var Prophecy\Prophet $x TYPE_NAME */
$x = $this->x = $this->prophet->prophesize()->willImplement ('Basic\Routing');
$x->get('b')->willReturn('hello b');
$x->get('a')->willReturn('hello');
$this->mock = $x->reveal();
$this->Basic = new \Basic\Basic($this->mock);
}
protected function tearDown() {
$this->prophet->checkPredictions();
}
public function testBasicRun()
{
//$this->x->get('b')->willReturn('hello nowe');
$this->assertEquals($this->Basic->run(), 'hello b') ;
return true;
}
/**
* jeśli test poprzedni działa
* @depends testBasicRun
*/
public function testNext($a)
{
$this->assertTrue($a);
}
/**
* Dane z Provider'a
* @dataProvider additionProviderOne
* @dataProvider additionProviderSecond
*/
public function testAdd($a, $b, $expected)
{
$this->assertSame($expected, $a + $b, "{$a}, {$b}, {$expected}");
}
/**
* Dane z Provider'a
* @dataProvider additionProviderOne
* @dataProvider additionProviderSecond
*/
public function testAddSecond()
{
list( $a, $b, $expected) = func_get_args();
$this->assertSame($expected, $a + $b, "{$a}, {$b}, {$expected}");
}
public function additionProviderOne()
{
return [
[0, 0, 0],
[0, 1, 1],
[1, 0, 1],
// [1, 1, 3]
];
}
public function additionProviderSecond()
{
return [
'adding zeros' => [0, 0, 0],
'zero plus one' => [0, 1, 1],
'one plus zero' => [1, 0, 1],
// 'one plus one' => [1, 1, 3]
];
}
public function testFailingInclude()
{
$this->expectException(Error::class);
throw @include 'not_existing_file.php';
}
public function testExpectFooActualFoo()
{
$this->expectOutputString('foo');
echo 'foo';
}
}
// cls => czeuszczenie cmd
Notatka: instalacja narzędzi dla programistów
-------------------------------------------
Grunt / Glup (alternatywa)
- wykonuje listę tasków (zadań) napisanych w js.
minifikuje kod, łączy pliki, podmienia tagi na tekst, śledzi zmiany w plikach, powtarza testy.
-------------------------
front-end
https://bower.io/
śledzi pakiety które chcesz mieć w projekcie i ściąga potrzebną wersje, albo aktualizuje.
-------------------------
http://yeoman.io/
- Tworzy i rozbudowuje szkielet aplikacji - korzysta z gotowych generatorów
(aplikacje/strony mobilne, rozszerzenia firefox'a/chroma, wordpress itp),
tworzy też procedury dla Grunt'a/Glup'a i zestawy testów jednostkowych.
-------------------------
Instalacja w cmd:
Czy masz zainstalowanego nodejs ?
nie:
- pobierz z https://nodejs.org
tak:
sprawdzamy wersje nodejs & npm
npm --version
Czy masz plik package.json
Nie:
{
- generate file package.json
npm init
- zainstaluj grunt globalnie
npm install -g grunt-cli
- zainstaluj grunt'a i modułów w projekcie
npm install grunt --save-dev grunt-contrib-connect grunt-contrib-watch --save-dev
- instal karma :supports test-driven development i moduły
npm install karma grunt-karma karma-jasmine jasmine-core karma-browser-reporter karma-story-reporter --save-dev
- instal launcher for browsers to test for karma
npm install karma-chrome-launcher karma-cli karma-firefox-launcher karma-ie-launcher karma-phantomjs-launcher karma-script-launcher --save-dev
}
Tak:
npm install
- Tworzymy pliki config
* gruntfile.js
* karma.config.js
zapomniałem o Composer jest dla php
https://getcomposer.org/
Tu za instalacje odpowiada w CMD
Grunt / Glup (alternatywa)
- wykonuje listę tasków (zadań) napisanych w js.
minifikuje kod, łączy pliki, podmienia tagi na tekst, śledzi zmiany w plikach, powtarza testy.
-------------------------
front-end
https://bower.io/
śledzi pakiety które chcesz mieć w projekcie i ściąga potrzebną wersje, albo aktualizuje.
-------------------------
http://yeoman.io/
- Tworzy i rozbudowuje szkielet aplikacji - korzysta z gotowych generatorów
(aplikacje/strony mobilne, rozszerzenia firefox'a/chroma, wordpress itp),
tworzy też procedury dla Grunt'a/Glup'a i zestawy testów jednostkowych.
-------------------------
Instalacja w cmd:
Czy masz zainstalowanego nodejs ?
nie:
- pobierz z https://nodejs.org
tak:
sprawdzamy wersje nodejs & npm
npm --version
Czy masz plik package.json
Nie:
{
- generate file package.json
npm init
- zainstaluj grunt globalnie
npm install -g grunt-cli
- zainstaluj grunt'a i modułów w projekcie
npm install grunt --save-dev grunt-contrib-connect grunt-contrib-watch --save-dev
- instal karma :supports test-driven development i moduły
npm install karma grunt-karma karma-jasmine jasmine-core karma-browser-reporter karma-story-reporter --save-dev
- instal launcher for browsers to test for karma
npm install karma-chrome-launcher karma-cli karma-firefox-launcher karma-ie-launcher karma-phantomjs-launcher karma-script-launcher --save-dev
}
Tak:
npm install
- Tworzymy pliki config
* gruntfile.js
* karma.config.js
zapomniałem o Composer jest dla php
https://getcomposer.org/
Tu za instalacje odpowiada w CMD
phar i wget
wget https://phar.phpunit.de/phpunit-6.5.phar
php phpunit-6.5.phar --version
ale opisze bardziej innym razem
.
plik
config phpunit
phpunit.xml
Subskrybuj:
Posty (Atom)