Skip to content

Commit 632755a

Browse files
ThomasLandauerDavertMik
authored andcommitted
Deleting "Project setup" (Codeception#163)
* Deleting "Project setup" ...since this is already included in `composer require codeception/codeception --dev` * Deleting more unnecessary stuff... ...and updating to `vendor/bin/codecept`
1 parent 4074d20 commit 632755a

File tree

1 file changed

+18
-52
lines changed

1 file changed

+18
-52
lines changed

for/symfony.md

Lines changed: 18 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -30,71 +30,47 @@ composer require codeception/codeception --dev
3030

3131
## Setup
3232

33-
From Symfony 4 onwards there will be a top-level `tests` directory, instead of a separate `Tests` directory in each bundle.
34-
It is recommended to place unit, functional, and acceptance test files
35-
into `tests`.
36-
37-
### Project Setup
38-
39-
Codeception should be installed globally for a project. To start, please run
40-
41-
```
42-
php bin/codecept bootstrap --empty
43-
```
44-
45-
This will create `codeception.yml` and the `tests` directory. There are no test suites inside `tests` yet.
33+
For Symfony >= 4 there is a top-level `tests` directory, instead of a separate `Tests` directory in each bundle.
34+
It is recommended to place unit, functional, and acceptance test files into `tests`.
4635

4736
### Acceptance Testing
4837

49-
For UI testing you will have to create first suite for acceptance tests:
50-
51-
```
52-
php bin/codecept g:suite acceptance
53-
```
54-
55-
This will create `acceptance.suite.yml` and `acceptance` folder inside `tests`. Acceptance tests should be configured to work with Selenium WebDriver to test application inside a real browser.
38+
Sample configuration of `tests/acceptance.suite.yml`:
5639

5740
```yaml
5841
class_name: AcceptanceTester
5942
modules:
6043
enabled:
6144
- WebDriver:
6245
url: 'https://localhost/' # put your local url
63-
browser: firefox
46+
browser: chrome
6447
- \Helper\Acceptance
6548
```
6649
67-
Browser can be specified as `firefox`, `chrome`, `phantomjs`, or others.
68-
69-
Acceptance tests should be described in Cest format. Run code generator
70-
71-
```
72-
php bin/codecept g:cest acceptance UserCest
73-
```
74-
75-
to generate very first test `tests/acceptance/UserCest.php`. Each method of a class (except `_before` and `_after`) is a test. Tests use `$I` object (instance of `AcceptanceTester` class) to perform actions on a webpage. Methods of `AcceptanceTester` are proxified to corresponding modules, which in current case is `WebDriver`.
50+
Browser can be specified as `chrome`, `firefox`, `phantomjs`, or others.
7651

77-
To generate method stubs for `AcceptanceTester`.
52+
To create a sample test called, run:
7853

7954
```
80-
php bin/codecept build
55+
vendor/bin/codecept g:cest acceptance UserCest
8156
```
8257

58+
This will create the file `tests/acceptance/UserCest.php`. Each method of a class (except `_before` and `_after`) is a test. Tests use `$I` object (instance of `AcceptanceTester` class) to perform actions on a webpage. Methods of `AcceptanceTester` are proxified to corresponding modules, which in current case is `WebDriver`.
8359

8460
<div class="alert alert-warning">
8561
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
8662
Continue to <a href="http://codeception.com/docs/03-AcceptanceTests">Acceptance Testing Guide &raquo;</a>
8763
</div>
8864

89-
To run the tests you will need firefox browser, [selenium server running](http://codeception.com/docs/modules/WebDriver#Selenium). If this requirements met acceptance tests can be executed as
65+
To run the tests you will need chrome browser, [selenium server running](http://codeception.com/docs/modules/WebDriver#Selenium). If this requirements met acceptance tests can be executed as
9066

9167
```
92-
php bin/codecept run acceptance
68+
vendor/bin/codecept run acceptance
9369
```
9470
9571
### BDD
9672
97-
If you prefer to describe application with feature files, Codeception can turn them to acceptance tests. It is recommended to store feature files in `features` directory (like it does Behat) but symlinking it to `tests/acceptance/features` so they can be treated as tests too.
73+
If you prefer to describe application with feature files, Codeception can turn them to acceptance tests. It is recommended to store feature files in `features` directory (like Behat does it) but symlinking it to `tests/acceptance/features` so they can be treated as tests too.
9874
9975
```
10076
ln -s $PWD/features tests/acceptance
@@ -105,7 +81,7 @@ Codeception allows to combine tests written in different formats. If are about t
10581
There is no standard Gherkin steps built in. By writing your feature files you can get code snippets which should be added to `AcceptanceTester` class.
10682
10783
```
108-
php bin/codecept gherkin:snippets
84+
vendor/bin/codecept gherkin:snippets
10985
```
11086
11187
<div class="alert alert-warning">
@@ -115,13 +91,9 @@ php bin/codecept gherkin:snippets
11591
11692
## Functional Testing
11793
118-
There is no need to use `WebTestCase` to write functional tests. Symfony functional tests are written in the same manner as acceptance tests but are executed inside a framework. Codeception has the [Symfony Module](http://codeception.com/docs/modules/Symfony) for it. To create a functional test suite, run:
94+
There is no need to use `WebTestCase` to write functional tests. Symfony functional tests are written in the same manner as acceptance tests but are executed inside the framework. Codeception has the [Symfony Module](http://codeception.com/docs/modules/Symfony) for it.
11995
120-
```
121-
php bin/codecept g:suite functional
122-
```
123-
124-
Functional tests are written in the same manner as acceptance tests. They also use scenario and `$I` actor object. The only difference is how they are executed. To run tests as Symfony test you should enable corresponding module in functional suite configuration file `tests/functional.suite.yml`. Probably you want Doctrine to be included as well. Then you should use this configuration:
96+
Functional tests also use scenario and `$I` actor object. The only difference is how they are executed. To run tests as Symfony test you should enable the corresponding module in functional suite configuration file `tests/functional.suite.yml`. Probably you want Doctrine to be included as well. Then you should use this configuration:
12597
12698
```yaml
12799
class_name: FunctionalTester
@@ -150,7 +122,7 @@ modules:
150122
API Tests are done at functional testing level but instead of testing HTML responses on user actions, they test requests and responses via protocols like REST or SOAP. To create api tests, you should create a suite for them:
151123

152124
```
153-
php bin/codecept g:suite api
125+
vendor/bin/codecept g:suite api
154126
```
155127

156128
You will need to enable `REST`, `Symfony` and `Doctrine` module in `tests/api.suite.yml`:
@@ -170,7 +142,7 @@ modules:
170142
- \Helper\Api
171143
```
172144
173-
Symfony module actions like `amOnPage` or `see` should not be available for testing API. This why Symfony module is not enabled but declared with `depends` for REST module. But Symfony module should be configured to load Kernel class from app_path.
145+
Symfony module actions like `amOnPage` or `see` should not be available for testing API. This is why Symfony module is not enabled but declared with `depends` for REST module. But Symfony module should be configured to load Kernel class from `app_path`.
174146

175147

176148
<div class="alert alert-warning">
@@ -181,16 +153,10 @@ Symfony module actions like `amOnPage` or `see` should not be available for test
181153

182154
### Unit Testing
183155

184-
Create a unit test suite with:
185-
186-
```
187-
php bin/codecept g:suite unit
188-
```
189-
190-
Codeception is powered by PHPUnit so unit and integration test work in a similar manner. To genereate a plain PHPUnit test for `Foo` class, run:
156+
Codeception is powered by PHPUnit so unit and integration tests work in a similar manner. To genereate a plain PHPUnit test for class `Foo`, run:
191157

192158
```
193-
php bin/codecept g:test unit Foo
159+
vendor/bin/codecept g:test unit Foo
194160
```
195161

196162
Actions of Symfony and Doctrine2 modules will be accessible from `$this->tester` inside a test of `Codeception\Test\Unit`.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy