代码是否正常工作?

时间:2014-10-07 10:08:34

标签: php testing laravel functional-programming codeception

我必须在代码中编写函数cept。它只创建了2个对话并单击其中一个的删除按钮,并检查是否已删除正确的对话。我写了测试,看看一切是否正常,但事实并非如此。测试的逻辑如下:

  1. 用户登录
  2. 用户向不同用户发送2条消息。(将创建2个会话
  3. 用户点击其中一个
  4. 上的“删除对话”按钮
  5. 用户检查是否删除了正确的对话。

  6. <?php 
    $I = new FunctionalTester($scenario);
    $I->am('a user');
    $I->wantTo('delete existing conversation');
    
    $user = $I->signIn();
    
    $I->sendMessage('other', 'some random message');
    $I->sendMessage('AnotherUser', 'other random message');
    
    dd($user->conversations->count());
    
    $I->click('Delete conversation');
    
    $I->seeCurrentUrlEquals('/inbox');
    $I->dontSee('other random message');
    $I->see('some random message');
    

    但问题是用户的会话总数为1.无论我向新用户发送了多少条消息,dd($user->conversations->count())始终为1.但是已发送消息(但是要发送消息,您应该创建一个对话)。我不知道这怎么可能?我编写了一个集成测试来检查创建对话的函数是否正常工作。它是。我不知道如何测试应用程序的逻辑。

1 个答案:

答案 0 :(得分:0)

在执行dd($user->conversations->count());之前,您需要执行一些waitForElementVisible方法,以前的操作似乎没有完全完成。