昨天的PHPUnit cahces函数工作

时间:2018-03-22 07:34:00

标签: phpunit

我开始使用phpunit在20个小时之前。我写了一些测试yestarday,现在看来它们被缓存了。例如,这是我的3测试:

public function test(){
        $this->url("index.php");

        $username = $this->byName('username');
        $password = $this->byName('password');

        $this->assertEquals("", $username->value());
        $this->assertEquals("", $password->value());
    }

    public function testLoginFormSubmitsToAdmin()
    {
        $this->url("index.php");

        $form = $this->byCssSelector('form');

        $action = $form->attribute('action');
        $this->assertContains('admin.php', $action);

        $this->byName('username')->value('jeffry');
        $this->byName('password')->value('123456');
        $form->submit();

        $welcome = $this->byCssSelector('h1')->text();

        $this->assertRegExp('/(\w+){5}/i', $welcome);
    }

    public function testSubmit()
    {
        $this->url('index.php');
        $this->assertFalse($this->byId('submit')->enabled());

        $this->byName('username')->value('Az');
        $this->byName('password')->value('1234567');

        $this->assertTrue($this->byId('submit')->enabled());
    }

现在我正在尝试创建像public function todayTest(){ ... }这样的新功能,但它没有被执行。当我评论其他测试时,运行phpunit TestLogin.php,我得到的是:

PHPUnit 6.5.7 by Sebastian Bergmann and contributors.

Time: 93 ms, Memory: 4.00MB

No tests executed!

就像我的功能不存在一样。如果我使用昨天函数之一的名称更改我新创建的函数的名称,例如 - public function test()(将名称从todayTest()更改为test()),它可以正常工作。谷歌周围的红色帖子,发现了一些关于缓存的内容,但不明白如何清除它们。我能得到一些建议吗?谢谢!

P.S。我也在使用Selenium 3.11.0

1 个答案:

答案 0 :(得分:2)

  

现在我正在努力创建像publicTest(){...}这样的新函数,但它没有被执行。

它不起作用,因为它没有根据PHPUnit遵循的规则命名。

documentation of PHPUnit解释了如何命名文件,类和方法:

  
      
  1. 测试是名为test*的公共方法。

         

    或者,您可以在方法的docblock中使用@test注释将其标记为测试方法。

  2.   

由于您可能不使用@test annotation,因此方法todayTest()不是测试,而是辅助方法。将其重命名为testToday(),PHPUnit将运行它。