【问题标题】:How to get status of assertResponseOk - laravel 4.2 testing如何获取 assertResponseOk 的状态 - laravel 4.2 测试
【发布时间】:2015-06-07 01:03:11
【问题描述】:

这可能是一个非常基本的问题,但由于对 phpunit 和 laravel 非常陌生,我找不到任何答案。

我必须测试一个 api,首先我断言响应

$this->assertResponseOk();

然后我在玩响应,并断言平等

$response = $response->getOriginalContent();
$response = json_decode($response);
$result = ...
.
.       
$this->assertEquals(true, $result);

我想要做的是将第二件事(处理响应)置于使第一个断言为真的条件下。

我可以吗?感谢您的帮助。

【问题讨论】:

    标签: php laravel laravel-4 phpunit


    【解决方案1】:

    您不需要任何条件 - PHPUnit 会为您处理。

    如果前面的断言已经为真,它只会继续断言你的函数中的其余测试。

    $this->assertResponseOk();
    
    // The previous $this->assertResponseOk() MUST have been true to reach this point
    $this->assertEquals(true, $result);
    

    【讨论】:

    • 那很好,但是如果我想打印成功或失败的自定义消息怎么办?以及是否有可能在多个测试的情况下显示哪个测试正在运行?
    • 目前我正在像 if($this->assertResponseOk($response)==null) { echo 'XYZ_TestSuccessful';} 那样做,它可以工作,但绝对不是正确的做法。 @换班交流
    • 成功不用说。 PHPUnit 会告诉你它是否不成功。如果你所有的测试都通过了——PHPUnit 会告诉你。
    • 我同意@Fahad,缺少像 phpUnit 那样添加自定义消息的可能性,我认为这是 Laravel 的 API 上的错误。
    猜你喜欢
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2016-07-07
    相关资源
    最近更新 更多