标签: codeception

Vagrant,Codeception和Laravel问题.NotFoundHttpException

我正在尝试使用代码验证进行验收测试.

我的一项测试有以下内容:

<?php
use Codeception\Util\Stub;

class SomeTest extends \Codeception\TestCase\Test
{

    protected $webGuy;

    /**
     * @test
     */
    public function incorrect_login_should_redirect_back()
    {
        $I = $this->webGuy;
        $I->wantTo('fail at logging in');
        $I->amOnPage('/'); // <-- This is the line that is failing
        $I->fillField('email','info@tntstudio.hr');
        $I->fillField('password','pass');
        $I->click('Login');
        $I->see('email', 'input');
        $I->seeCurrentUrlEquals('/login');
    }

}
Run Code Online (Sandbox Code Playgroud)

最初测试运行正常,但是在添加Laravel4acceptance.suite.yml文件并运行之后build,测试现在失败,并显示以下内容:

1) SomeTest::incorrect_login_should_redirect_back
Symfony\Component\HttpKernel\Exception\NotFoundHttpException: 

#1  /Applications/MAMP/htdocs/hired/vendor/laravel/framework/src/Illuminate/Routing/Router.php:1021
#2  /Applications/MAMP/htdocs/hired/vendor/laravel/framework/src/Illuminate/Routing/Router.php:989
#3  /Applications/MAMP/htdocs/hired/vendor/laravel/framework/src/Illuminate/Routing/Router.php:968
#4  /Applications/MAMP/htdocs/hired/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:738
#5  /Applications/MAMP/htdocs/hired/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:708
#6  /Applications/MAMP/htdocs/hired/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Client.php:81
#7  /Applications/MAMP/htdocs/hired/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/Client.php:325
#8  /Applications/MAMP/htdocs/hired/app/tests/acceptance/WebGuy.php:476
#9  /Applications/MAMP/htdocs/hired/app/tests/acceptance/SomeTest.php:16
Run Code Online (Sandbox Code Playgroud)

我正在使用vagrant在虚拟环境中运行我的应用程序 http://localhost:3030/

我已将此设置为PhpBrowser配置的URL, …

php unit-testing laravel laravel-4 codeception

0
推荐指数
1
解决办法
1830
查看次数

暂停代码接收测试(使用Selenium WebDriver时)

是否可以使用测试代码中的语句暂停然后恢复代码接受测试执行?

selenium codeception

0
推荐指数
1
解决办法
840
查看次数

codeception单元测试仅针对公共函数testMe运行

我创建了一个代码单元测试:

<?php


use Something\SiteResultsHolder;

class ResultHolderTest extends \Codeception\TestCase\Test
{
   /**
    * @var \UnitTester
    */
    protected $tester;

    protected function _before()
    {
    }

    protected function _after()
    {
    }

    // tests
    public function testMe()
    {
        //this test run

    }

    public function checkLimit() {
       //this test doesn't run
    }
}
Run Code Online (Sandbox Code Playgroud)

我在终端中称呼它:

codecept run unit
Run Code Online (Sandbox Code Playgroud)

但唯一的测试调用是 - > testMe,它不运行 - > checkLimit

他们都是公开的.

当我进行验收测试时,所有公共方法都是不同的测试,但在这里似乎没有用.

我如何在那里添加测试?会被称为?

php unit-testing codeception

0
推荐指数
1
解决办法
681
查看次数

在代码测试中使用变量

我们如何在测试中使用字符串替换和变量?我怀疑这很常见,我根本不知道在哪里看.示例测试:

$I = new ApiTester($scenario);
$I->wantTo('Get Stuff');
$I->amHttpAuthenticated('myuser', 'mypass');
$I->haveHttpHeader('Content-Type', 'application/json');
$I->haveHttpHeader('Custom-Header', 'friendlycorp');
$I->sendGet('/a/path/that/contains/variables');
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
Run Code Online (Sandbox Code Playgroud)

正在测试的每个REST API位置使用不同的值,并且URL也会根据要测试的服务而更改.所以,也许是这样的:

$I->amHttpAuthenticated('{USERNAME}', '{PASSWORD}');
$I->sendGet('/a/path/{SERVICE_ID}/and/{SOMETHING_ELSE}/and/such');
$I->haveHttpHeader('Custom-Header', '{SERVICE_ID}');
Run Code Online (Sandbox Code Playgroud)

我希望配置文件可以定义类似{SERVICE_ID}和{FUNCTION},具体取决于我正在测试的REST API服务位置以及其他变量.例如:

FriendlyCorp:
    SERVICE_ID: friendlycorp
    SOMETHING_ELSE: foo
    USERNAME: myuser
    PASSWORD: mypass
OpenExample:
    SERVICE_ID: openexample
    SOMETHING_ELSE: bar
    USERNAME: myuser2
    PASSWORD: mypass2
Run Code Online (Sandbox Code Playgroud)

然后在执行代码时,我会选择针对FriendlyCorp或OpenExample运行测试,并且将在测试中使用所述值.

codeception

0
推荐指数
1
解决办法
452
查看次数

Codeception REST超时问题

我正在尝试增加Codeception REST超时,但是它似乎没有用。

那就是我所拥有的

class_name: ApiTester
modules:
    enabled:
        - \Helper\Api:
        - REST:
            depends: PhpBrowser
            timeout: 90
Run Code Online (Sandbox Code Playgroud)

我收到超时错误

[GuzzleHttp \ Exception \ ConnectException] cURL错误28:30001毫秒后操作超时,收到0个字节

我究竟做错了什么?

curl codeception

0
推荐指数
1
解决办法
1252
查看次数

标签 统计

codeception ×5

php ×2

unit-testing ×2

curl ×1

laravel ×1

laravel-4 ×1

selenium ×1