【问题标题】:SilverStripe not picking up unit testsSilverStripe 不接受单元测试
【发布时间】:2018-09-28 00:55:25
【问题描述】:

(使用 SilverStripe 3)

我正在尝试设置一些单元测试,但是测试框架似乎没有选择我的测试类,我可能遗漏了一些东西,但不清楚是什么。

测试位于通过 composer 导入的模块中。 模块结构如下

/htdocs
...
/(moudulename)
    /src
        Bla.php
    /tests
        BlaTest.php

BlaTest.php 文件包含以下内容

<?php

class BlaTest extends SapphireTest
{
    public function testCreation()
    {
        $this->assertEquals(true, true);
    }
}

我希望一旦我进行构建和刷新,我会看到 /dev/tests 中列出的测试,但是它没有显示出来。这就是我所做的一切,如果我正确理解了文档,这应该是所需要的,但是测试没有出现。任何帮助将不胜感激。

【问题讨论】:

  • 通过浏览器运行测试现在是一种不鼓励的方式,并且在 SS4 中被删除。这对我来说看起来不错,如果你从命令行运行 phpunit,测试会运行吗?
  • 命令行上根本没有运行任何测试,/dev/tests 应该只显示可运行测试的列表,我希望我能在其中看到它。
  • running vendor/bin/phpunit framework/tests 我得到:require_once(Zend/Log.php):未能打开流:没有这样的文件或目录......但是当我去寻找文件时它就在那里。
  • 最后加上'' flush=1,CLI和浏览器缓存不同
  • 另外,分享您的 phpunit.xml 文件 - 您需要确保它包含框架或 CMS 的 bootstrap.php 文件

标签: php phpunit silverstripe


【解决方案1】:

该文件夹缺少 _config 目录,因此 SS 根本没有在其中查找。 文件树应该是这样的

/htdocs
...
    /_config
    /src
        Bla.php
    /tests
        BlaTest.php

_config 目录中不必有任何内容,只要存在即可。

【讨论】:

    猜你喜欢
    • 2011-11-05
    • 2012-09-26
    • 2011-01-16
    • 1970-01-01
    • 2016-08-01
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多