Skip to content

Commit fbb2ad3

Browse files
committed
Add "writing tests" page
1 parent f6d2beb commit fbb2ad3

3 files changed

Lines changed: 34 additions & 0 deletions

File tree

.vitepress/config.mts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ export default defineConfig({
5050
},
5151
{
5252
text: 'Writing Tests',
53+
link: '/docs/writing-tests',
5354
items: [
5455
{ text: 'Inline Tests', link: '/docs/inline-tests' },
5556
],
@@ -99,6 +100,7 @@ export default defineConfig({
99100
},
100101
{
101102
text: 'Пишем тесты',
103+
link: '/ru/docs/writing-tests',
102104
items: [
103105
{ text: 'Встроенные тесты', link: '/ru/docs/inline-tests' },
104106
],

docs/writing-tests.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Writing Tests
2+
3+
Testo doesn't care where a test lives, as long as it can be wrapped in a Closure. Currently supported:
4+
5+
- **Classes** — tests are methods in regular classes, no base class inheritance required.
6+
- **Functions** — tests can be standalone functions.
7+
- **[Inline Tests](./inline-tests)** — for simple pure functions, tests as attributes directly on the method being tested.
8+
9+
Depending on the configuration, Testo can discover tests in several ways:
10+
11+
- **Explicit** — the [#\[Test\] attribute](./test-attribute) marks a method, function, or class.
12+
- **Conventions**[naming patterns](./naming-conventions) like `testSomething()` methods or `*Test` classes.
13+
- **Custom strategies** — you can implement your own test discovery, for example by function-call (like PEST, but without execution) or by class parent, like PHPUnit.
14+
15+
All approaches can be combined in one project or even in one Test Suite.

ru/docs/writing-tests.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Пишем тесты
2+
3+
Для Testo без разницы, где находится тест, если его можно завернуть в Closure. Сейчас поддерживаются:
4+
5+
- **Классы** — тесты это методы обычных классов, наследование от базового класса не требуется.
6+
- **Функции** — тесты могут быть обычными функциями.
7+
- **[Встроенные тесты](./inline-tests)** — для простых чистых функций, тесты как атрибуты прямо на тестируемом методе.
8+
9+
---
10+
11+
В зависимости от настроект, Testo может находить тесты несколькими способами:
12+
13+
- **Явно**[атрибут #\[Test\]](./test-attribute) помечает метод, функцию или класс.
14+
- **По конвенциям**[соглашения об именовании](./naming-conventions), например методы `testSomething()` или классы `*Test`.
15+
- **Кастомные стратегии** — можно реализовать собственный способ поиска тестов, например по function-call (как в PEST, только без запуска) или по родителю класса, как в PHPUnit.
16+
17+
Все подходы можно комбинировать в одном проекте или даже в одном Test Suite.

0 commit comments

Comments
 (0)