1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
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.
|