Create tests.markdown
This commit is contained in:
parent
c72f627efe
commit
10b88c6393
|
|
@ -0,0 +1,158 @@
|
|||
Otomatik testler
|
||||
===============
|
||||
|
||||
[PHPUnit](https://phpunit.de/), Kanboard'da otomatik testler yapmak için kullanılır.
|
||||
|
||||
Sonuçların her yerde aynı olduğundan emin olmak için farklı veritabanlarında (Sqlite, Mysql ve PostgreSQL) testler çalıştırabilirsiniz.
|
||||
|
||||
Gereksinimler
|
||||
------------
|
||||
|
||||
- Linux/Unix machine
|
||||
- PHP
|
||||
- PHPUnit yüklü
|
||||
- Mysql ve Postgresql (isteğe bağlı)
|
||||
- Selenium (isteğe bağlı)
|
||||
- Firefox (isteğe bağlı)
|
||||
|
||||
Birim Testleri
|
||||
----------
|
||||
|
||||
### Sqlite ile sınama
|
||||
|
||||
Sqlite testlerinde bellek içi bir veritabanı kullanılır, dosya sisteminde hiçbir şey yazılmaz.
|
||||
|
||||
PHPUnit yapılandırma dosyası `tests/units.sqlite.xml`.
|
||||
Kanboard dizininizden `phpunit -c tests/units.sqlite.xml` komutunu çalıştırın.
|
||||
|
||||
Örnek:
|
||||
|
||||
```bash
|
||||
phpunit -c tests/units.sqlite.xml
|
||||
|
||||
PHPUnit 5.0.0 by Sebastian Bergmann and contributors.
|
||||
|
||||
............................................................... 63 / 649 ( 9%)
|
||||
............................................................... 126 / 649 ( 19%)
|
||||
............................................................... 189 / 649 ( 29%)
|
||||
............................................................... 252 / 649 ( 38%)
|
||||
............................................................... 315 / 649 ( 48%)
|
||||
............................................................... 378 / 649 ( 58%)
|
||||
............................................................... 441 / 649 ( 67%)
|
||||
............................................................... 504 / 649 ( 77%)
|
||||
............................................................... 567 / 649 ( 87%)
|
||||
............................................................... 630 / 649 ( 97%)
|
||||
................... 649 / 649 (100%)
|
||||
|
||||
Time: 1.22 minutes, Memory: 151.25Mb
|
||||
|
||||
OK (649 tests, 43595 assertions)
|
||||
```
|
||||
|
||||
### Mysql ile Test
|
||||
|
||||
Localhost'da MySQL veya MariaDb yüklü olmalıdır.
|
||||
|
||||
Varsayılan olarak, bu kimlik bilgileri kullanılır:
|
||||
|
||||
- Ana makine adı: **localhost**
|
||||
- Kullanıcı adı: **kök**
|
||||
- Şifre: yok
|
||||
- Veritabanı: **kanboard_unit_test**
|
||||
|
||||
Her yürütme için veritabanı silinir ve yeniden oluşturulur.
|
||||
|
||||
PHPUnit yapılandırma dosyası `tests/units.postgres.xml` dir.
|
||||
Kanboard dizininizden `phpunit -c `phpunit -c tests/units.postgres.xml` komutunu çalıştırın.
|
||||
|
||||
### Postgresql ile test edin
|
||||
|
||||
Postgresql'in localhost'a kurulmuş olması gerekir.
|
||||
|
||||
Varsayılan olarak, bu kimlik bilgileri kullanılır:
|
||||
|
||||
- Ana makine adı: **localhost**
|
||||
- Kullanıcı adı: **postgres**
|
||||
- Şifre: yok
|
||||
- Veritabanı: **kanboard_unit_test**
|
||||
|
||||
'Postgres` kullanıcısının veritabanlarını oluşturup açmasına izin verdiğinizden emin olun.
|
||||
Veritabanı her yürütme için yeniden oluşturulur.
|
||||
|
||||
PHPUnit yapılandırma dosyası `tests/units.postgres.xml` dir.
|
||||
Kanboard dizininizden `phpunit -c tests/units.postgres.xml` komutunu çalıştırın.
|
||||
|
||||
Entegrasyon Testleri
|
||||
-----------------
|
||||
|
||||
Entegrasyon testleri esas olarak API'yi test etmek için kullanılır.
|
||||
Test paketleri, bir kapsayıcı içinde çalışan uygulamaya gerçek HTTP çağrıları yapıyor.
|
||||
|
||||
### Gereksinimler
|
||||
|
||||
- PHP
|
||||
- Composer
|
||||
- Unix işletim sistemi (Mac OS veya Linux)
|
||||
- Docker
|
||||
- Docker Compose
|
||||
|
||||
### Uyum testlerini çalıştırmak
|
||||
|
||||
Entegrasyon testleri Docker konteynerlerini kullanıyor.
|
||||
Desteklenen her bir veritabanına karşı testleri çalıştırmak için kullanılabilecek 3 farklı ortam vardır.
|
||||
|
||||
Her bir test paketini çalıştırmak için aşağıdaki komutları kullanabilirsiniz:
|
||||
|
||||
```bash
|
||||
# Run tests with Sqlite
|
||||
make integration-test-sqlite
|
||||
|
||||
# Run tests with Mysql
|
||||
make integration-test-mysql
|
||||
|
||||
# Run tests with Postgres
|
||||
make integration-test-postgres
|
||||
```
|
||||
|
||||
Kabul Deneyleri
|
||||
----------------
|
||||
|
||||
Kabul testleri (bazen uçtan uca testler ve işlevsel testler olarak da bilinir), Selenium'u kullanan bir tarayıcıda UI'nın gerçek işlevselliğini test eder.
|
||||
|
||||
Bu testleri çalıştırmak için [Selenium Standalone Server] (http://www.seleniumhq.org/download/) ve Firefox'un uyumlu bir sürümü yüklü olmalıdır.
|
||||
|
||||
PHPUnit yapılandırma dosyası `tests / acceptance.xml` dir.
|
||||
Selenyum ve Kanboard uygulaması çalışıyorken, Kanboard dizininizden `make test-browser` komutunu çalıştırın. Bu, test paketini başlatacak ve Firefox'un otomatik olarak açıldığını göreceksiniz ve kabul testlerinde belirtilen işlemleri uygulayacaksınız.
|
||||
|
||||
Örnek:
|
||||
|
||||
```bash
|
||||
$ make test-browser
|
||||
PHPUnit 4.8.26 by Sebastian Bergmann and contributors.
|
||||
|
||||
..
|
||||
|
||||
Time: 5.59 seconds, Memory: 5.25MB
|
||||
|
||||
OK (2 tests, 5 assertions)
|
||||
```
|
||||
|
||||
|
||||
Travis-CI ile Sürekli Entegrasyon
|
||||
-------------------------------------
|
||||
|
||||
Her taahhüt ana depoda itildikten sonra, birim testleri PHP'nin 5 farklı versiyonu boyunca yürütülür:
|
||||
|
||||
- PHP 7.0
|
||||
- PHP 5.6
|
||||
- PHP 5.5
|
||||
- PHP 5.4
|
||||
- PHP 5.3
|
||||
|
||||
Each version of PHP is tested against the 3 supported database: Sqlite, Mysql and Postgresql.
|
||||
|
||||
The Travis config file `.travis.yml` is located on the root directory of Kanboard.
|
||||
|
||||
PHP'nin her sürümü desteklenen 3 veritabanına karşı test edilmiştir: Sqlite, Mysql ve Postgresql.
|
||||
|
||||
Travis yapılandırma dosyası `.travis.yml` , Kanboard'un kök dizininde bulunur.
|
||||
Loading…
Reference in New Issue