如何在Codeception中强制测试失败

时间:2015-08-23 12:35:45

标签: php testing codeception

我正在使用Codeception进行WebServices测试,这是我的代码:

func OnAppBecameActive()
{
// Add logic here to check if need to call refresh view method
if needToRefreshView
{
  refreshView()
}
}

有人知道如何强制测试失败吗?

提前致谢!

4 个答案:

答案 0 :(得分:3)

您可以对actor使用失败操作。即。

$I->fail('this test fails... just because');

答案 1 :(得分:3)

您可以将测试标记为已跳过或不完整。这是一个例子:

public function tryToMakeAwesomeThings(ApiTester $I, Scenario $scenario)
{
    if ( ... ) {
        // do something
    } elseif ( ... ) {
        $scenario->incomplete();
    } elseif ( ... ) {
        $scenario->skip();
    }
}

答案 2 :(得分:0)

您可以使用PHPUnit\Framework\Assert::fail()或引发PHPUnit\Framework\AssertionFailedError异常。

答案 3 :(得分:0)

使用https://codeception.com/docs/modules/Asserts中的assertInstanceOf()

示例:

public function test_array_result() {
    /** @var Demo $demo */
    $demo = Common::get_which_class( $this->post_id );

    self::assertInstanceOf( Demo::class, $demo, 'Unable to instantiate the Demo class.');

    $x = [ 'a', 'b', 'c' ];

    $this->assertEqualSetsWithIndex( $x, $demo->get_result() );
}