我在将文件包含在phpunit测试中时遇到了一些麻烦。例如:当我在PhpStorm中执行以下代码时,将获得预期的输出。

代码:

class NifvalidationTest extends PHPUnit_Framework_TestCase
{
    public function test_apiRequest()
    {
        $result = 1+1;
        $this->assertEquals(2, $result);
    }
}

输出:
Testing started at 16:58 ...
PHPUnit 5.2.12 by Sebastian Bergmann and contributors.



Time: 120 ms, Memory: 11.50Mb

OK (1 test, 1 assertion)

Process finished with exit code 0

但是,当我需要使用include从另一个类访问方法时,我没有得到预期的输出。仅作为示例,当我执行以下代码时:
class NifvalidationTest extends PHPUnit_Framework_TestCase
{
    public function test_apiRequest()
    {
        include('/../nifvalidation.php');
        $result = 1+1;
        $this->assertEquals(2, $result);
    }
}

我得到这个而不是预期的输出:
Testing started at 17:05 ...
PHPUnit 5.2.12 by Sebastian Bergmann and contributors.


Process finished with exit code 0

关于包含为什么会破坏测试的任何想法?

注意1:在上面的示例中,我不需要包含文件,但是在其他测试中需要。

注意2:文件'nifvalidation.php'的路径正确。

最佳答案

我认为您的包含路径错误。
您的结构可能像这样
父目录
-> nifvalidation.php
->测试文件夹
-> NifvalidationTest.php

代替

include('/../nifvalidation.php')


include(dirname(__FILE__)."/../nifvalidation.php");

关于php - 如何在phpunit测试中包含文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37418791/

10-16 02:10