制作phpunit忽略包括?

时间:2017-04-07 20:45:40

标签: php phpunit travis-ci

我有一个包含这样一个包含的文件:

file.php

include(dirname(__FILE__)."/anotherfile.php");
class file {
    function myfunction() {
        $class = new anotherfile();
        $class->functionfromanotherfile();
    }
    function myfunctionToBeTested() {
        // do things here
    }
}

我使用travis-ci用phpunit运行我的测试,问题是我没有提交" anotherfile.php" (具有连接到数据库的逻辑和凭据),这使得当我尝试在我的测试脚本中包含此文件时它不起作用。

tests.php

class tests extends PHPUnit_Framework_TestCase {
    public function test_function() {
        include(dirname(__FILE__)."/file.php");
        $class = new file();
    }
}

我可以制作另一个文件,只需要我需要测试的功能并使用它,但也许你们可以拿出其他的awnser。

1 个答案:

答案 0 :(得分:0)

使用某种dependency injection

  • 修改要测试的类,使其接受凭据作为构造函数的参数。
  • 在测试中,创建假 - 或真实凭证并将其传递给您的类的构造函数。