tests modified, bootstrap added

This commit is contained in:
Mark 2013-12-02 15:25:21 +04:00
parent 84da8ffa89
commit d2214e4f0a
25 changed files with 2262 additions and 1179 deletions

1
tests/_bootstrap.php Normal file
View File

@ -0,0 +1 @@
<?php

View File

@ -0,0 +1,10 @@
<?php
namespace tests\_pages;
class AboutPage extends BasePage
{
public static $URL = '?r=site/about';
}

45
tests/_pages/BasePage.php Normal file
View File

@ -0,0 +1,45 @@
<?php
namespace tests\_pages;
class BasePage
{
// include url of current page
public static $URL = '';
/**
* Declare UI map for this page here. CSS or XPath allowed.
* public static $usernameField = '#username';
* public static $formSubmitButton = "#mainForm input[type=submit]";
*/
/**
* Basic route example for your current URL
* You can append any additional parameter to URL
* and use it in tests like: EditPage::route('/123-post');
*/
public static function route($param)
{
return static::$URL.$param;
}
/**
* @var
*/
protected $guy;
public function __construct($I)
{
$this->guy = $I;
}
/**
* @return $this
*/
public static function of($I)
{
return new static($I);
}
}

View File

@ -0,0 +1,63 @@
<?php
namespace tests\_pages;
class ContactPage extends BasePage
{
public static $URL = '?r=site/contact';
/**
* contact form name text field locator
* @var string
*/
public $name = 'input[name="ContactForm[name]"]';
/**
* contact form email text field locator
* @var string
*/
public $email = 'input[name="ContactForm[email]"]';
/**
* contact form subject text field locator
* @var string
*/
public $subject = 'input[name="ContactForm[subject]"]';
/**
* contact form body textarea locator
* @var string
*/
public $body = 'textarea[name="ContactForm[body]"]';
/**
* contact form verification code text field locator
* @var string
*/
public $verifyCode = 'input[name="ContactForm[verifyCode]"]';
/**
* contact form submit button
* @var string
*/
public $button = 'button[type=submit]';
/**
*
* @param array $contactData
*/
public function submit(array $contactData)
{
if (!empty($contactData))
{
$this->guy->fillField($this->name,$contactData['name']);
$this->guy->fillField($this->email,$contactData['email']);
$this->guy->fillField($this->subject,$contactData['subject']);
$this->guy->fillField($this->body,$contactData['body']);
$this->guy->fillField($this->verifyCode,$contactData['verifyCode']);
}
$this->guy->click($this->button);
}
}

View File

@ -0,0 +1,40 @@
<?php
namespace tests\_pages;
class LoginPage extends BasePage
{
public static $URL = '?r=site/login';
/**
* login form username text field locator
* @var string
*/
public $username = 'input[name="LoginForm[username]"]';
/**
* login form password text field locator
* @var string
*/
public $password = 'input[name="LoginForm[password]"]';
/**
* login form submit button locator
* @var string
*/
public $button = 'button[type=submit]';
/**
*
* @param string $username
* @param string $password
*/
public function login($username, $password)
{
$this->guy->fillField($this->username,$username);
$this->guy->fillField($this->password,$password);
$this->guy->click($this->button);
}
}

View File

@ -11,8 +11,9 @@
class_name: WebGuy
modules:
enabled:
- PhpBrowser
- WebHelper
- WebDriver
config:
PhpBrowser:
url: 'http://localhost/index-test.php'
WebDriver:
url: 'http://localhost/basic/web/index-test-accept.php'
browser: firefox

View File

@ -1,5 +1,7 @@
<?php
use tests\_pages\AboutPage;
$I = new WebGuy($scenario);
$I->wantTo('ensure that about works');
$I->amOnPage('?r=site/about');
$I->amOnPage(AboutPage::$URL);
$I->see('About', 'h1');

View File

@ -1,10 +1,16 @@
<?php
use tests\_pages\ContactPage;
$I = new WebGuy($scenario);
$I->wantTo('ensure that contact works');
$I->amOnPage('?r=site/contact');
$contactPage = ContactPage::of($I);
$I->amOnPage(ContactPage::$URL);
$I->see('Contact', 'h1');
$I->submitForm('#contact-form', []);
$I->amGoingTo('submit contact form with no data');
$contactPage->submit([]);
$I->expectTo('see validations errors');
$I->see('Contact', 'h1');
$I->see('Name cannot be blank');
$I->see('Email cannot be blank');
@ -12,25 +18,29 @@ $I->see('Subject cannot be blank');
$I->see('Body cannot be blank');
$I->see('The verification code is incorrect');
$I->submitForm('#contact-form', [
'ContactForm[name]' => 'tester',
'ContactForm[email]' => 'tester.email',
'ContactForm[subject]' => 'test subject',
'ContactForm[body]' => 'test content',
'ContactForm[verifyCode]' => 'testme',
$I->amGoingTo('submit contact form with not correct email');
$contactPage->submit([
'name' => 'tester',
'email' => 'tester.email',
'subject' => 'test subject',
'body' => 'test content',
'verifyCode' => 'testme',
]);
$I->expectTo('see that email adress is wrong');
$I->dontSee('Name cannot be blank', '.help-inline');
$I->see('Email is not a valid email address.');
$I->dontSee('Subject cannot be blank', '.help-inline');
$I->dontSee('Body cannot be blank', '.help-inline');
$I->dontSee('The verification code is incorrect', '.help-inline');
$I->submitForm('#contact-form', [
'ContactForm[name]' => 'tester',
'ContactForm[email]' => 'tester@example.com',
'ContactForm[subject]' => 'test subject',
'ContactForm[body]' => 'test content',
'ContactForm[verifyCode]' => 'testme',
$I->amGoingTo('submit contact form with correct data');
$contactPage->submit([
'name' => 'tester',
'email' => 'tester@example.com',
'subject' => 'test subject',
'body' => 'test content',
'verifyCode' => 'testme',
]);
$I->wait(3);
$I->dontSeeElement('#contact-form');
$I->see('Thank you for contacting us. We will respond to you as soon as possible.');

View File

@ -1,23 +1,26 @@
<?php
use tests\_pages\LoginPage;
$I = new WebGuy($scenario);
$I->wantTo('ensure that login works');
$I->amOnPage('?r=site/login');
$loginPage = LoginPage::of($I);
$I->amOnPage(LoginPage::$URL);
$I->see('Login', 'h1');
$I->submitForm('#login-form', []);
$I->dontSee('Logout (admin)');
$I->see('Username cannot be blank');
$I->see('Password cannot be blank');
$I->amGoingTo('try to login with empty credentials');
$loginPage->login('', '');
$I->expectTo('see validations errors');
$I->see('Username cannot be blank.');
$I->see('Password cannot be blank.');
$I->submitForm('#login-form', [
'LoginForm[username]' => 'admin',
'LoginForm[password]' => 'wrong',
]);
$I->dontSee('Logout (admin)');
$I->see('Incorrect username or password');
$I->amGoingTo('try to login with wrong credentials');
$loginPage->login('admin', 'wrong');
$I->expectTo('see validations errors');
$I->see('Incorrect username or password.');
$I->submitForm('#login-form', [
'LoginForm[username]' => 'admin',
'LoginForm[password]' => 'admin',
]);
$I->amGoingTo('try to login with correct credentials');
$loginPage->login('admin', 'admin');
$I->wait(3);
$I->expectTo('see user info');
$I->see('Logout (admin)');

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,11 @@
<?php
// Here you can initialize variables that will for your tests
$config = require(__DIR__.'/../yii_bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
$config,
require(__DIR__ . '/../../config/codeception/acceptance.php')
);
$application = new yii\web\Application($config);

View File

@ -5,11 +5,11 @@
# (tip: better to use with frameworks).
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.
#basic/web/index-test-func.php
class_name: TestGuy
modules:
enabled: [Filesystem, TestHelper, Yii2]
config:
Yii2:
entryScript: 'web/index-test.php'
entryScript: 'web/index-test-func.php'
url: 'http://localhost/'

View File

@ -1,5 +1,8 @@
<?php
use tests\_pages\AboutPage;
$I = new TestGuy($scenario);
$I->wantTo('ensure that about works');
$I->amOnPage('?r=site/about');
$I->amOnPage(AboutPage::$URL);
$I->see('About', 'h1');

View File

@ -1,10 +1,16 @@
<?php
use tests\functional\_pages\ContactPage;
$I = new TestGuy($scenario);
$I->wantTo('ensure that contact works');
$I->amOnPage('?r=site/contact');
$contactPage = ContactPage::of($I);
$I->amOnPage(ContactPage::$URL);
$I->see('Contact', 'h1');
$I->submitForm('#contact-form', []);
$I->amGoingTo('submit contact form with no data');
$contactPage->submit([]);
$I->expectTo('see validations errors');
$I->see('Contact', 'h1');
$I->see('Name cannot be blank');
$I->see('Email cannot be blank');
@ -12,25 +18,28 @@ $I->see('Subject cannot be blank');
$I->see('Body cannot be blank');
$I->see('The verification code is incorrect');
$I->submitForm('#contact-form', [
'ContactForm[name]' => 'tester',
'ContactForm[email]' => 'tester.email',
'ContactForm[subject]' => 'test subject',
'ContactForm[body]' => 'test content',
'ContactForm[verifyCode]' => 'testme',
$I->amGoingTo('submit contact form with not correct email');
$contactPage->submit([
'name' => 'tester',
'email' => 'tester.email',
'subject' => 'test subject',
'body' => 'test content',
'verifyCode' => 'testme',
]);
$I->expectTo('see that email adress is wrong');
$I->dontSee('Name cannot be blank', '.help-inline');
$I->see('Email is not a valid email address.');
$I->dontSee('Subject cannot be blank', '.help-inline');
$I->dontSee('Body cannot be blank', '.help-inline');
$I->dontSee('The verification code is incorrect', '.help-inline');
$I->submitForm('#contact-form', [
'ContactForm[name]' => 'tester',
'ContactForm[email]' => 'tester@example.com',
'ContactForm[subject]' => 'test subject',
'ContactForm[body]' => 'test content',
'ContactForm[verifyCode]' => 'testme',
$I->amGoingTo('submit contact form with correct data');
$contactPage->submit([
'name' => 'tester',
'email' => 'tester@example.com',
'subject' => 'test subject',
'body' => 'test content',
'verifyCode' => 'testme',
]);
$I->dontSeeElement('#contact-form');
$I->see('Thank you for contacting us. We will respond to you as soon as possible.');

View File

@ -1,23 +1,25 @@
<?php
use tests\functional\_pages\LoginPage;
$I = new TestGuy($scenario);
$I->wantTo('ensure that login works');
$I->amOnPage('?r=site/login');
$loginPage = LoginPage::of($I);
$I->amOnPage(LoginPage::$URL);
$I->see('Login', 'h1');
$I->submitForm('#login-form', []);
$I->dontSee('Logout (admin)');
$I->see('Username cannot be blank');
$I->see('Password cannot be blank');
$I->amGoingTo('try to login with empty credentials');
$loginPage->login('', '');
$I->expectTo('see validations errors');
$I->see('Username cannot be blank.');
$I->see('Password cannot be blank.');
$I->submitForm('#login-form', [
'LoginForm[username]' => 'admin',
'LoginForm[password]' => 'wrong',
]);
$I->dontSee('Logout (admin)');
$I->see('Incorrect username or password');
$I->amGoingTo('try to login with wrong credentials');
$loginPage->login('admin', 'wrong');
$I->expectTo('see validations errors');
$I->see('Incorrect username or password.');
$I->submitForm('#login-form', [
'LoginForm[username]' => 'admin',
'LoginForm[password]' => 'admin',
]);
$I->amGoingTo('try to login with correct credentials');
$loginPage->login('admin', 'admin');
$I->expectTo('see user info');
$I->see('Logout (admin)');

View File

@ -27,7 +27,7 @@ use Codeception\Module\Yii2;
class TestGuy extends \Codeception\AbstractGuy
{
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -49,7 +49,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -79,7 +79,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -106,7 +106,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -133,7 +133,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -161,7 +161,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -220,7 +220,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -281,7 +281,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -336,7 +336,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -355,7 +355,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -412,7 +412,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -439,13 +439,32 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
* ----------------------------------------------
*
* Authenticates user for HTTP_AUTH
*
* @see Codeception\Module::getName()
* @return \Codeception\Maybe
*/
public function getName() {
$this->scenario->addStep(new \Codeception\Step\Action('getName', func_get_args()));
if ($this->scenario->running()) {
$result = $this->scenario->runStep();
return new Maybe($result);
}
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
* ----------------------------------------------
*
* Authenticates user for HTTP_AUTH
*
* @param $username
* @param $password
@ -461,7 +480,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -494,7 +513,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -540,7 +559,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -605,7 +624,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -670,7 +689,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -733,7 +752,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -794,7 +813,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -853,7 +872,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -906,7 +925,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -963,7 +982,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1020,7 +1039,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1075,7 +1094,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1130,7 +1149,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1161,7 +1180,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1224,7 +1243,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1285,7 +1304,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1354,7 +1373,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1421,7 +1440,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1477,16 +1496,16 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
* ----------------------------------------------
*
* Fills a text field or textarea with value.
*
*
* Example:
*
*
* ``` php
* <?php
* $I->fillField("//input[@type='text']", "Hello World!");
@ -1507,7 +1526,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1547,7 +1566,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1577,7 +1596,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1606,7 +1625,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1637,7 +1656,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1662,7 +1681,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1698,7 +1717,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1731,7 +1750,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1764,7 +1783,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1817,7 +1836,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1826,7 +1845,7 @@ class TestGuy extends \Codeception\AbstractGuy
* Checks if element does not exist (or is visible) on a page, matching it by CSS or XPath
*
* Example:
*
*
* ``` php
* <?php
* $I->dontSeeElement('.error');
@ -1854,7 +1873,7 @@ class TestGuy extends \Codeception\AbstractGuy
* Checks if element does not exist (or is visible) on a page, matching it by CSS or XPath
*
* Example:
*
*
* ``` php
* <?php
* $I->dontSeeElement('.error');
@ -1874,7 +1893,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1931,7 +1950,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -1988,7 +2007,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -2025,7 +2044,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -2068,7 +2087,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.
@ -2123,7 +2142,7 @@ class TestGuy extends \Codeception\AbstractGuy
return new Maybe();
}
/**
* This method is generated.
* Documentation taken from corresponding module.

View File

@ -1,2 +1,10 @@
<?php
// Here you can initialize variables that will for your tests
$config = require(__DIR__.'/../yii_bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
$config,
require(__DIR__ . '/../../config/codeception/functional.php')
);
$application = new yii\web\Application($config);

View File

@ -0,0 +1,56 @@
<?php
namespace tests\functional\_pages;
class ContactPage extends \tests\_pages\ContactPage
{
/**
* contact form name text field locator
* @var string
*/
public $name = 'ContactForm[name]';
/**
* contact form email text field locator
* @var string
*/
public $email = 'ContactForm[email]';
/**
* contact form subject text field locator
* @var string
*/
public $subject = 'ContactForm[subject]';
/**
* contact form body textarea locator
* @var string
*/
public $body = 'ContactForm[body]';
/**
* contact form verification code text field locator
* @var string
*/
public $verifyCode = 'ContactForm[verifyCode]';
/**
*
* @param array $contactData
*/
public function submit(array $contactData)
{
if (empty($contactData))
$this->guy->submitForm('#contact-form',[]);
else
$this->guy->submitForm('#contact-form',[
$this->name => $contactData['name'],
$this->email => $contactData['email'],
$this->subject => $contactData['subject'],
$this->body => $contactData['body'],
$this->verifyCode => $contactData['verifyCode'],
]);
}
}

View File

@ -0,0 +1,33 @@
<?php
namespace tests\functional\_pages;
class LoginPage extends \tests\_pages\LoginPage
{
/**
* login form username text field locator
* @var string
*/
public $username = 'LoginForm[username]';
/**
* login form password text field locator
* @var string
*/
public $password = 'LoginForm[password]';
/**
*
* @param string $username
* @param string $password
*/
public function login($username, $password)
{
$this->guy->submitForm('#login-form',[
$this->username => $username,
$this->password => $password,
]);
}
}

View File

@ -25,6 +25,23 @@ use Codeception\Module\CodeHelper;
class CodeGuy extends \Codeception\AbstractGuy
{
/**
* This method is generated.
* Documentation taken from corresponding module.
* ----------------------------------------------
*
*
* @see Codeception\Module::getName()
* @return \Codeception\Maybe
*/
public function getName() {
$this->scenario->addStep(new \Codeception\Step\Action('getName', func_get_args()));
if ($this->scenario->running()) {
$result = $this->scenario->runStep();
return new Maybe($result);
}
return new Maybe();
}
}

View File

@ -1,2 +1,10 @@
<?php
// Here you can initialize variables that will for your tests
$config = require(__DIR__.'/../yii_bootstrap.php');
$config = yii\helpers\ArrayHelper::merge(
$config,
require(__DIR__ . '/../../config/codeception/unit.php')
);
$application = new yii\web\Application($config);

View File

@ -0,0 +1,16 @@
<?php
namespace tests\unit\models;
class ContactFormTest extends \PHPUnit_Framework_TestCase
{
protected function setUp()
{
}
protected function tearDown()
{
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace tests\unit\models;
class LoginFormTest extends \PHPUnit_Framework_TestCase
{
protected function setUp()
{
}
protected function tearDown()
{
}
}

View File

@ -0,0 +1,27 @@
<?php
namespace tests\unit\models;
#use yii\test\DbTestTrait;
class UserTest extends \PHPUnit_Framework_TestCase
{
use DbTestTrait;
protected function setUp()
{
/*
* you can load fixtures in this way
*
$this->loadFixtures([
'tbl_user',
]);
*/
}
protected function tearDown()
{
}
}

10
tests/yii_bootstrap.php Normal file
View File

@ -0,0 +1,10 @@
<?php
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'test');
require_once(__DIR__ . '/../vendor/autoload.php');
require_once(__DIR__ . '/../vendor/yiisoft/yii2/yii/Yii.php');
return require(__DIR__ . '/../config/web.php');